From b4e5a8790343bc0d5312d3b47ce2b8d970dd333a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 3 Apr 2014 21:52:53 +0000 Subject: pstricks_calcnotes (3apr14) git-svn-id: svn://tug.org/texlive/trunk@33361 c570f23f-e606-0410-a88d-b1316a301751 --- .../Convert_PstricksCode_To_Pdf/Readme.txt | 2 +- .../Convert_PstricksCode_To_Pdf/convert.tex | 9 +- .../Convert_PstricksCode_To_Pdf/test.pdf | Bin 19361 -> 19468 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig1-1.pdf | Bin 8060 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig1-2.pdf | Bin 8858 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig1-3.pdf | Bin 8926 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig13.pdf | Bin 0 -> 5097 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig14.pdf | Bin 0 -> 5435 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig1a.pdf | Bin 0 -> 8151 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig1b.pdf | Bin 0 -> 9319 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig1c.pdf | Bin 0 -> 9382 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig2-1.pdf | Bin 8058 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig2-2.pdf | Bin 8789 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig2a.pdf | Bin 0 -> 8163 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig2b.pdf | Bin 0 -> 8884 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig3.pdf | Bin 8633 -> 8702 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig4.pdf | Bin 9430 -> 9533 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig5.pdf | Bin 5852 -> 5974 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig6.pdf | Bin 73118 -> 10906 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig7.pdf | Bin 27236 -> 6977 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig8.pdf | Bin 65911 -> 11202 bytes .../pstricks_calcnotes/For_Pdf_Output/Fig9.pdf | Bin 98574 -> 16065 bytes .../For_Pdf_Output/NewVecFld_PDF.tex | 572 - .../For_Pdf_Output/ThreeAppsPDF.tex | 1036 + .../pstricks_calcnotes/For_Pdf_Output/b6of1.pdf | Bin 0 -> 9000 bytes .../pstricks_calcnotes/For_Pdf_Output/b6of2.pdf | Bin 0 -> 10095 bytes .../pstricks_calcnotes/For_Pdf_Output/b6of3.pdf | Bin 0 -> 12823 bytes .../pstricks_calcnotes/For_Pdf_Output/b6of4.pdf | Bin 0 -> 13025 bytes .../pstricks_calcnotes/For_Pdf_Output/vec1.pdf | Bin 12493 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/vec2.pdf | Bin 19425 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/vec3.pdf | Bin 13265 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/vec4.pdf | Bin 12843 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/vec5.pdf | Bin 11575 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/vec6.pdf | Bin 11794 -> 0 bytes .../pstricks_calcnotes/For_Pdf_Output/vecb1.pdf | Bin 0 -> 12497 bytes .../pstricks_calcnotes/For_Pdf_Output/vecb2.pdf | Bin 0 -> 19468 bytes .../pstricks_calcnotes/For_Pdf_Output/vecb3.pdf | Bin 0 -> 13080 bytes .../pstricks_calcnotes/For_Pdf_Output/vecb4.pdf | Bin 0 -> 12926 bytes .../pstricks_calcnotes/For_Pdf_Output/vecb5.pdf | Bin 0 -> 11692 bytes .../pstricks_calcnotes/For_Pdf_Output/vecb6.pdf | Bin 0 -> 11897 bytes .../For_Ps_Output/NewVecFld_PS.tex | 675 - .../For_Ps_Output/ThreeAppsPS.tex | 1165 + .../pstricks_calcnotes/For_Ps_Output/b6of1.eps | 11111 ++++++ .../pstricks_calcnotes/For_Ps_Output/b6of2.eps | 11891 +++++++ .../pstricks_calcnotes/For_Ps_Output/b6of3.eps | 28461 ++++++++++++++++ .../pstricks_calcnotes/For_Ps_Output/b6of4.eps | 33594 +++++++++++++++++++ .../pstricks_calcnotes/For_Ps_Output/vec1.eps | 15843 --------- .../pstricks_calcnotes/For_Ps_Output/vec2.eps | 23748 ------------- .../pstricks_calcnotes/For_Ps_Output/vec3.eps | 15901 --------- .../pstricks_calcnotes/For_Ps_Output/vec4.eps | 15856 --------- .../pstricks_calcnotes/For_Ps_Output/vec5.eps | 14601 -------- .../pstricks_calcnotes/For_Ps_Output/vec6.eps | 14583 -------- .../pstricks_calcnotes/For_Ps_Output/vecb1.eps | 14943 +++++++++ .../pstricks_calcnotes/For_Ps_Output/vecb2.eps | 22808 +++++++++++++ .../pstricks_calcnotes/For_Ps_Output/vecb3.eps | 14969 +++++++++ .../pstricks_calcnotes/For_Ps_Output/vecb4.eps | 14951 +++++++++ .../pstricks_calcnotes/For_Ps_Output/vecb5.eps | 13687 ++++++++ .../pstricks_calcnotes/For_Ps_Output/vecb6.eps | 13656 ++++++++ .../texmf-dist/doc/latex/pstricks_calcnotes/README | 10 +- .../doc/latex/pstricks_calcnotes/ThreeAppsPDF.pdf | Bin 0 -> 652952 bytes .../latex/pstricks_calcnotes/Two_Apps_Remarks.pdf | Bin 783131 -> 0 bytes 61 files changed, 182286 insertions(+), 101786 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-1.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-2.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-3.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig13.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig14.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1a.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1b.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1c.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2-1.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2-2.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2a.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2b.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/NewVecFld_PDF.tex create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/ThreeAppsPDF.tex create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of1.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of2.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of3.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of4.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec1.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec2.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec3.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec4.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec5.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec6.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb1.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb2.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb3.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb4.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb5.pdf create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb6.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/NewVecFld_PS.tex create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/ThreeAppsPS.tex create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of1.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of2.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of3.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of4.eps delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec1.eps delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec2.eps delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec3.eps delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec4.eps delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec5.eps delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec6.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb1.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb2.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb3.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb4.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb5.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb6.eps create mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/ThreeAppsPDF.pdf delete mode 100644 Master/texmf-dist/doc/latex/pstricks_calcnotes/Two_Apps_Remarks.pdf (limited to 'Master/texmf-dist/doc/latex/pstricks_calcnotes') diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/Readme.txt b/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/Readme.txt index 18c0a961e3d..757b31f60c3 100644 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/Readme.txt +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/Readme.txt @@ -3,7 +3,7 @@ Dear friends, To convert a PSTricks-code picture into a graphic file ".pdf", as doing an exercise, run the file "convert.tex" by the following steps: - 1) latex convert.tex (you automatically get the output file "convert-fig1.tex". Put the definitions in the preamble + 1) latex convert.tex (you automatically get the output file "convert-fig1.tex", then put the definitions in the preamble of the convert.tex file in that of the convert-fig1.tex file). 2) latex convert-fig1.tex 3) dvips convert-fig1.dvi diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/convert.tex b/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/convert.tex index d7464faaf32..fdbc1fbadb7 100644 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/convert.tex +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/convert.tex @@ -6,7 +6,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\vecfldnew#1#2#3#4#5#6#7#8{% \newcount\intg \newdimen\fx \newdimen\fy \newdimen\slope \newdimen\interm -\def\fintg{\interm=#8 \interm=\intg\interm \ifdim\ifdim\slope<0pt-\fi\slope>\interm\advance\intg by 1\fintg\fi} +\def\fintg{\interm=#8 \interm=\intg\interm \ifdim\ifdim\slope<0pt-\fi\slope<\interm\advance\intg by -1\relax\else\advance\intg by 1\fintg\fi} \multido{#2}{#4} {\multido{#1}{#3} {\curvepnodes[algebraic,plotpoints=2]{0}{1}{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P} @@ -33,9 +33,10 @@ \begin{pspicture}(-3,-3)(3,3) \psset{unit=28.5pt,dotsize=2.6pt} \vecfldnew{\nx=-3.00+0.3}{\ny=-3.00+0.3}{20}{20}{0.3}{2*(\nx)*(\ny)/(1+(\ny)^2)} -{\fx=\nx pt\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty} -\Fncty{\ny}{\soly}{\Dsoly}\DIVIDE{\Dsoly}{\soly}{\tempa}\slope=\tempa pt\slope=\decimal\fx\slope}{3pt} -\psaxes[labelFontSize=$\footnotesize$,Dy=1,Dx=1,ticksize=2.2pt,labelsep=4pt,linewidth=0.7pt]{->}(0,0)(-3,-3)(3,3) +{\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}\Fncty{\ny}{\soly}{\Dsoly} +\DIVIDE{\Dsoly}{\soly}{\tempa}\MULTIPLY{\nx}{\tempa}{\tempb} +\slope=\tempb pt}{2.5pt} +\psaxes[labelFontSize=$\footnotesize$,Dy=1,Dx=1,ticksize=2.2pt,labelsep=4pt,linewidth=0.7pt]{->}(0,0)(-3,-3)(3.1,3) \end{pspicture} \end{pdfpic} \end{document} diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/test.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/test.pdf index 8df926c72d2..383de63aeec 100644 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/test.pdf and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/Convert_PstricksCode_To_Pdf/test.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-1.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-1.pdf deleted file mode 100644 index 8efa93a02ca..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-1.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-2.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-2.pdf deleted file mode 100644 index 54c6972e706..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-2.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-3.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-3.pdf deleted file mode 100644 index edae51373e5..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1-3.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig13.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig13.pdf new file mode 100644 index 00000000000..a33248e1f58 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig13.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig14.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig14.pdf new file mode 100644 index 00000000000..c14a6fc9093 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig14.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1a.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1a.pdf new file mode 100644 index 00000000000..7054e9921ff Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1a.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1b.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1b.pdf new file mode 100644 index 00000000000..53755f3d312 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1b.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1c.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1c.pdf new file mode 100644 index 00000000000..6cfbe679067 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig1c.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2-1.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2-1.pdf deleted file mode 100644 index 2be92abfbfd..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2-1.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2-2.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2-2.pdf deleted file mode 100644 index ade96c92237..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2-2.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2a.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2a.pdf new file mode 100644 index 00000000000..68eee32768c Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2a.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2b.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2b.pdf new file mode 100644 index 00000000000..53dd72daa9d Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig2b.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig3.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig3.pdf index 0b6f0b825fc..de3a6075a90 100644 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig3.pdf and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig3.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig4.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig4.pdf index e1d694a316c..a2fcc2c3f4b 100644 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig4.pdf and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig4.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig5.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig5.pdf index 96b8581d6c3..db8fc66c19c 100644 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig5.pdf and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig5.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig6.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig6.pdf index d99748f5a33..520ab95aa3b 100644 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig6.pdf and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig6.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig7.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig7.pdf index ddaa77ab5de..0f5b2a64f97 100644 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig7.pdf and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig7.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig8.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig8.pdf index aacbb9457e0..7df48b21bad 100644 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig8.pdf and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig8.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig9.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig9.pdf index cec79431078..3e3336548ae 100644 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig9.pdf and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/Fig9.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/NewVecFld_PDF.tex b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/NewVecFld_PDF.tex deleted file mode 100644 index 53289e4656d..00000000000 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/NewVecFld_PDF.tex +++ /dev/null @@ -1,572 +0,0 @@ -\documentclass[11pt,a4paper,oneside]{article} -\usepackage{calculator} -\usepackage{calculus} -\usepackage{amsthm} -\usepackage{amsmath} -\usepackage[dvips]{geometry} -\usepackage{pstricks} -\usepackage{graphicx} -\usepackage{graphics} -\usepackage{pst-plot} -\usepackage{pst-node} -\usepackage{multido} -\usepackage{pst-xkey} -\usepackage{pst-func} -\usepackage{pstricks-add} -\usepackage[colorlinks,linktocpage]{hyperref} -\def\hantt{\^e}\def\accentcircflx{\hskip-.3em\raisebox{0.32ex}{\'{}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\RiemannSum#1#2#3#4#5#6#7#8#9{% -\psplot[linecolor=blue]{#1}{#2}{#3} -\pscustom[linecolor=red]{% -\psline{-}(#1,0)(#1,0) -\multido{\ni=#5,\ne=#6}{#4} -{\psline(*{\ni} {#8})(*{\ne} {#9})}} -\multido{\ne=#6,\nc=#7}{#4} -{\psdot(*{\nc} {#3}) -\psline[linestyle=dotted,dotsep=1.5pt](\nc,0)(*{\nc} {#3}) -\psline[linecolor=red](\ne,0)(*{\ne} {#9})} -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\vecfld#1#2#3#4#5#6{% -\multido{#2}{#4} -{\multido{#1}{#3} -{\parametricplot[algebraic,arrows=->,linecolor=red]{0}{1} -{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} -\xch \def\dec#1pt{#1}\ych \def\decimal#1{\expandafter\dec \the#1} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\vecfldnew#1#2#3#4#5#6#7#8{% -\newcount\intg \newdimen\fx \newdimen\fy \newdimen\slope \newdimen\interm -\def\fintg{\interm=#8 \interm=\intg\interm \ifdim\ifdim\slope<0pt-\fi\slope>\interm\advance\intg by 1\fintg\fi} -\multido{#2}{#4} -{\multido{#1}{#3} -{\curvepnodes[algebraic,plotpoints=2]{0}{1}{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P} -#7 \slope=10\slope\fintg -\ifnum\intg>10\psline[linecolor=red]{->}(P0)(P1)\else\ifnum\intg=0\psline[linecolor=red!5]{->}(P0)(P1)\else\multiply\intg by 10 -\psline[linecolor=red!\the\intg]{->}(P0)(P1)\fi\fi -\intg=0\slope=0pt -}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\pagestyle{headings} -\topmargin=-0.6cm -\textwidth=16.7cm -\textheight=23cm -\headheight=2.5ex -\headsep=0.6cm -\oddsidemargin=.cm -\evensidemargin=-.4cm -\parskip=0.7ex plus0.5ex minus 0.5ex -\baselineskip=17pt plus2pt minus2pt -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\catcode`@=11 -\renewcommand\section{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\normalfont\large\bfseries}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\normalfont\normalsize\bfseries}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\gdef\acknw{\section*{% -{\acknwname}\markright{\protect\textsl{\acknwname}}}% -\addcontentsline{toc}{section}{\acknwname}} -\gdef\acknwname{Acknowledgment} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\renewcommand\sectionmark[1]{\markright{\thesection. #1}} -\newcounter{lk} -\newenvironment{listof}{\begin{list}{\rm(\roman{lk})}{\usecounter{lk}% -\setlength{\topsep}{0ex plus0.1ex}% -\setlength{\labelwidth}{1cm}% -\setlength{\itemsep}{0ex plus0.1ex}% -\setlength{\itemindent}{0.5cm}% -}}{\end{list}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\title{Two applications of macros in \texttt{PSTricks}\thanks{PSTricks is the original work of Timothy Van Zandt (email address: \texttt{tvz@econ.insead.fr}). -It is currently edited by Herbert Vo\ss\ (\texttt{hvoss@tug.org}).}\\ -{\Large\&} \\ -How to color arrows properly for a vector field} -\author{Le Phuong Quan\\ -\small{(Cantho University, Vietnam)}\\ -\small{\texttt{lpquan@ctu.edu.vn}}} -\begin{document} -\maketitle -\tableofcontents -\section{Drawing approximations to the area under a graph by rectangles} -\subsection{Description} - -We recall here an application in Calculus. Let $f(x)$ be a function, defined and bounded on -the interval $[a,b]$. If $f$ is integrable (in Riemann sense) on $[a,b]$, then its definite integral over this interval -is -$$\int_a^bf(x)dx=\lim_{\|P\|\to 0}\sum_{i=1}^nf(\xi_i)\Delta x_i,$$ -where $P\colon a=x_0}(0,0)(8.5,11)!\\ -\verb!\end{pspicture}! -\end{tabular} -\smallskip\hrule\bigskip - -In the second example below, we will draw an approximation to the integral of $f(x)=x\sin x$ over $[1,9]$. -Choosing $n=10$ and computing parameters needed, we get Figure \ref{Fig4}, mainly by -the command -\begin{align*} -&\texttt{\symbol{92}RiemannSum\{$1$\}\{$9$\}\{$x\sin x$\}\{$10$\}\{$1.00+0.80$\}\{$1.80+0.80$\}\{$1.40+0.80$\}}\\ -&\texttt{\{$(x+0.4)\sin(x+0.4)$\}\{$(x-0.4)\sin(x-0.4)$\}} -\end{align*} -in the drawing procedure. -\begin{figure}[htbp] -\centering\includegraphics[width=4.75cm]{Fig4} -\caption{An approximation to the integral of $f(x)=x\sin x$ over $[1,9]$.}\label{Fig4} -\end{figure} -\section{Drawing the vector field of an ordinary differential equation of order one} -\subsection{Description}\label{sect1} - -Let us consider the differential equation -\begin{equation}\label{eqn2} -\frac{dy}{dx}=f(x,y). -\end{equation} -At each point $(x_0,y_0)$ in the domain $D$ of $f$, we will put a vector $\mathbf{v}$ with slope -$k=f(x_0,y_0)$. If $y(x_0)=y_0$, then $k$ is the slope of the tangent to the solution curve $y=y(x)$ -of (\ref{eqn2}) at $(x_0,y_0)$. The $\mathbf{v}$'s make a \textsl{vector field\/} and the picture -of this field would give us information about the shape of solution curves of (\ref{eqn2}), even -we have not found yet any solution of (\ref{eqn2}). - -The vector field of (\ref{eqn2}) will be depicted on a finite grid of points in $D$. This grid is made of -lines, paralell to the axes $Ox$ and $Oy$. The intersectional points of those lines are called \textsl{grid points\/} -and often indexed by $(x_i,y_j)$, $i=0,\ldots,N_x$, $j=0,\ldots,N_y$. For convenience, we will use -polar coordinate to locate the terminal point $(x,y)$ of a field vector, with the initial point at -the grid point $(x_i,y_j)$. Then, we can write -\begin{align*} -x&=x_i+r\cos\varphi,\\ -y&=y_j+r\sin\varphi. -\end{align*} -Because $k=f(x_i,y_j)=\tan\varphi$ is finite, we may take $-\pi/2<\varphi<\pi/2$. -From $\sin^2\varphi+\cos^2\varphi=1$ and $\sin\varphi=k\cos\varphi$, we derive -$$\cos\varphi=\frac{1}{\sqrt{1+k^2}},\quad\sin\varphi=\frac{k}{\sqrt{1+k^2}}.$$ -\begin{figure}[htbp] -\centering\includegraphics[width=5cm]{Fig5} -\caption{Field vectors on a grid.}\label{Fig5} -\end{figure} -The field vectors should all have the same magnitude and we choose here that length to be -$1/2$, that means $r=1/2$. Thus, vectors on the grid have their initial points and -terminal ones as -$$(x_i,y_j),\quad \Big(x_i+\frac{1}{2}\cos\varphi,y_j+\frac{1}{2}\sin\varphi\Big).$$ - -Of macros in \texttt{PSTricks} to draw lines, we select \texttt{\symbol{92}parametricplot}\footnote{\footnotesize -This macro is of ones, often added and updated in the package \texttt{pstricks-add}, the authors: -Dominique Rodriguez (\texttt{dominique.rodriguez@waika9.com}), Herbert Vo\ss\ (\texttt{voss@pstricks.de}).} -for its fitness. We immetiately have the simple parameterization of the vector at the grid point -$(x_i,y_j)$ as -\begin{align*} -x&=x_i+\frac{t}{2}\cos\varphi=x_i+\frac{t}{2\sqrt{1+k^2}},\\ -y&=y_j+\frac{t}{2}\sin\varphi=y_j+\frac{tk}{2\sqrt{1+k^2}}, -\end{align*} -where $t$ goes from $t=0$ to $t=1$, along the direction of the vector. The macro \texttt{\symbol{92}parametricplot} -has the syntax as -$$\texttt{\symbol{92}parametricplot[{\it settings}]\{$t_{\rm min}$\}\{$t_{\rm max}$\}\{$x(t)$|$y(t)$\}},$$ -where we should use the option \texttt{algebraic} to make the declaration of $x(t)$ and $y(t)$ simpler -with \texttt{ASCII} code. - -From the above description of one field vector, we go to the one of the whole vector field -on a grid belonging to the domain $R=\{(x,y)\colon a\le x\le b,\,c\le y\le d\}$. To determine the grid, we confine grid points to the range -\begin{equation}\label{eqn3} -a\le x_i\le b,\quad c\le y_j\le d. -\end{equation} -With respect to the indices $i$ and $j$, we choose initial values $x_0=a$ and -$y_0=c$, with increments $\Delta x=\Delta y=\delta$, corresponding to the length of vectors and the distance -between grid points as indicated in Figure \ref{Fig5}. Thus, to draw vectors at grid points -$(x_i,y_j)$, we need two loops for $i$ and $j$, with $0\le i\le\lfloor m/\delta\rfloor$, $0\le j\le\lfloor n/\delta\rfloor$, where -$m=b-a$, $n=d-c$. Apparently, these two loops are nested \texttt{\symbol{92}multido}s, with variable declaration -for each loop as follows -\begin{align*} -\texttt{\symbol{92}nx}&=\text{initial value}+\text{increment}=x_0+\Delta x,\\ -\texttt{\symbol{92}ny}&=\text{initial value}+\text{increment}=y_0+\Delta y. -\end{align*} -Finally, we will replace \texttt{\symbol{92}nx}, \texttt{\symbol{92}ny} by $x_i$, $y_j$ in the -below calling sequence for simplicity. - -Thus, the main procedure to draw the vector field of the equation (\ref{eqn2}) on the grid (\ref{eqn3}) -is -\begin{align*} -&\texttt{\symbol{92}multido\big\{$y_j=y_0+\Delta y$\big\}\big\{$\lfloor n/\delta\rfloor$\big\}}\texttt{\bigg\{\symbol{92}multido\big\{$x_i=x_0+\Delta x$\big\}\big\{$\lfloor m/\delta\rfloor$\big\}}\\ -&\quad\texttt{\Big\{\symbol{92}parametricplot[{\it settings}]\{$0$\}\{$1$\}\Big\{$x_i+\frac{t}{2\sqrt{1+\big[f(x_i,y_j)\big]^2}}$\Big| -$y_j+\frac{tf(x_i,y_j)}{2\sqrt{1+\big[f(x_i,y_j)\big]^2}}$\Big\}\bigg\}} -\end{align*} -where we at least use \texttt{arrows=->} and \texttt{algebraic} for \textit{settings}. - -We can combine the steps mentioned above to define a drawing procedure, say \texttt{\symbol{92}vecfld}, -that consists of main parameters in the order as -\texttt{\symbol{92}nx=}$x_0+\Delta x$, \texttt{\symbol{92}ny=}$y_0+\Delta y$, $\lfloor m/\delta\rfloor$, $\lfloor n/\delta\rfloor$, $\delta$ -and $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$. We may change these values to modify -the vector field or to avoid the vector intersection. Such a definition is suggested to be -\bigskip\hrule -\noindent\begin{tabular}{@{}l} -\verb!\def\vecfld#1#2#3#4#5#6{%!\\ -\verb!\multido{#2}{#4}{\multido{#1}{#3}!\\ -\verb!{\parametricplot[algebraic,arrows=->,linecolor=red]{0}{1}!\\ -\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}}}}! -\end{tabular}\bigskip\hrule -\subsection{Examples} -Firstly, we consider the equation that describes an object falling in a resistive medium: -\begin{equation}\label{eqn4} -\frac{dv}{dt}=9.8-\frac{v}{5}, -\end{equation} -where $v=v(t)$ is the speed of the object in time $t$. In Figure \ref{Fig6}, the vector field of (\ref{eqn4}) is given -on the grid $R=\{(t,y)\colon 0\le t\le 9,\,46\le v\le 52\}$, together with the graph of the equilibrium solution -$v=49$. -\begin{figure}[htbp] -\centering\includegraphics[width=8.55cm]{Fig6} -\caption{The vector field of (\ref{eqn4}).}\label{Fig6} -\end{figure} - -Figure \ref{Fig6} is made of the following \LaTeX\ code: -\bigskip\hrule -\noindent\begin{tabular}{@{}l} -\verb!\begin{pspicture}(0,46)(9.5,52.5)!\\ -\verb!\vecfld{\nx=0.25+0.50}{\ny=46.25+0.50}{18}{12}{0.5}{9.8-0.2*\ny}!\\ -\verb!\psplot[algebraic,linewidth=1.2pt]{0}{9}{49}!\\ -\verb!\psaxes[Dy=1,Dx=1,Oy=46]{->}(0,46)(0,46)(9.5,52.5)!\\ -\verb!\rput(9.5,45.8){$t$}\rput(-0.2,52.5){$y$}!\\ -\verb!\end{pspicture}! -\end{tabular} -\smallskip\hrule\bigskip -Let us next consider the problem -\begin{equation}\label{eqn5} -\frac{dy}{dx}=x+y,\quad y(0)=0. -\end{equation} -It is easy to check that $y=e^x-x-1$ is the unique solution to the problem (\ref{eqn5}). We now draw -the vector field of (\ref{eqn5}) and the solution curve\footnote{\footnotesize -We have used ${\rm ch}(1)+{\rm sh}(1)$ for the declaration of $e$, natural base of logarithmic function.} on the grid $R=\{(x,y)\colon 0\le x\le 3,\,0\le y\le 5\}$ in -Figure \ref{Fig7}. -\begin{figure}[htbp] -\centering\includegraphics[width=3.25cm]{Fig7} -\caption{The vector field of (\ref{eqn5}).}\label{Fig7} -\end{figure} - -We then go to the logistic equation, which is chosen to be a model for the dependence -of the population size $P$ on time $t$ in Biology: -\begin{equation}\label{eqn6} -\frac{dP}{dt}=kP\Big(1-\frac{P}{M}\Big), -\end{equation} -where $k$ and $M$ are constants, respectively various to selected species and environment. -For specification, we take, for instant, $k=0.5$ and $M=100$. The right hand side of -(\ref{eqn6}) then becomes $f(t,P)=0.5\,P(1-0.01\,P)$. In Figure \ref{Fig8}, we draw the vector field -of (\ref{eqn6}) on the grid $R=\{(t,P)\colon 0\le t\le 10,\,95\le P\le 100\}$ and the equilibrium -solution curve $P=100$. Furthermore, with the initial condition $P(0)=95$, the equation (\ref{eqn6}) -has the unique solution $P=1900(e^{-0.5t}+19)^{-1}$. This solution curve is also given in Figure \ref{Fig8}. -\begin{figure}[htbp] -\centering\includegraphics[width=8.4cm]{Fig8} -\caption{The vector field of (\ref{eqn6}) with $k=0.5$ and $M=100$.}\label{Fig8} -\end{figure} - -The previous differential equations are all of seperated variable or linear cases that -can be solved for closed-form solutions by some simple integration formulas. We will consider one more -equation of the non-linear case whose solution can only be approximated by numerical methods. -The vector field of such an equation is so useful and we will use the Runge-Kutta curves (of order $4$) -to add more information about the behaviour of solution curve. Here, those Runge-Kutta curves are depicted by the procedure -\texttt{\symbol{92}psplotDiffEqn}, also updated from the package \texttt{pstricks-add}. - -The vector field of the non-linear differential equation -\begin{equation}\label{eqn7} -\frac{dy}{dx}=y^2-xy+1 -\end{equation} -will be depicted on the grid $R=\{(x,y)\colon -3\le x\le 3,\,-3\le y\le 3\}$ and the solutions -of Cauchy problems for (\ref{eqn7}), corresponding to initial conditions -\begin{listof} -\item $y(-3)=-1$, -\item $y(-2)=-3$, -\item $y(-3)=-0.4$, -\end{listof} -will be approximated by the method of Runge-Kutta, with the grid size $h=0.2$. It is very easy -to recognize approximate curves, respective to (i), (ii) and (iii) in Figure \ref{Fig9} below. -\begin{figure}[htbp] -\centering\includegraphics[width=8.5cm]{Fig9} -\caption{The vector field of (\ref{eqn7}) and the Runge-Kutta curves.}\label{Fig9} -\end{figure} -\section{Remarks on how to color arrows properly for a vector field} -\subsection{Description} -In the \verb!\vecfld! procedure, the command -\begin{equation}\label{bosung1} -\texttt{\symbol{92}parametricplot[{\it settings}]\{$t_{\rm min}$\}\{$t_{\rm max}$\}\{$x(t)$|$y(t)$\}} -\end{equation} -does the two works: drawing the whole oriented line segment and putting the endpoint right after -the vector. This blots out the pointy head of arrows and makes field vectors less sharp when being seen closely. -However, there is no problem with the procedure if we just want a monochrome vector field. But, in case of using arrows -with their various color shades, we should use an independent procedure with options to draw a color arrow. For such a procedure, -the command \texttt{\symbol{92}psline} could be the best choice. We just call it with two argument points, which are extracted from the curve -produced by the command \texttt{\symbol{92}parametricplot}. - -To modify the \verb!\vecfld! procedure, from the above consideration, we might take the command \texttt{\symbol{92}curvepnodes} in the package \texttt{pst-node}\footnote{\footnotesize -Package authors: Timothy Van Zandt (\texttt{tvz@econ.insead.fr}), Michael Sharpe (\texttt{msharpe@euclid.ucsd.edu}) and Herbert Vo\ss\ (\texttt{hvoss@tug.org}).} to -extract points from a curve $(x(t),y(t))$ given in the algebraic form. Because we only need the two ending points of the curve, -we can use -\begin{equation}\label{bosung2} -\texttt{\symbol{92}curvepnodes[algebraic,plotpoints=2]\{0\}\{1\}\{$x(t)$|$y(t)$\}\{P\}}, -\end{equation} -where \texttt{P} is a name of the root of nodes and we just get the two nodes \texttt{P0}, \texttt{P1} when executing this command. Then, the corresponding -vector is drawn by the command -\begin{equation}\label{bosung3} -\texttt{\symbol{92}psline[linecolor={\it settings}]\{->\}(P0)(P1)} -\end{equation} -The command (\ref{bosung1}) may be replaced by the two ones (\ref{bosung2}) and (\ref{bosung3}), and we obtain the arrows whose heads are now sharper. - -The remaining problem is how to appropriately make \textit{settings} in (\ref{bosung3}) to bring out a vector field. Obviously, \textit{settings} should be -various color shades according to slope of vectors. In Subsection \ref{sect1}, we know for the equation (\ref{eqn2}) that $f(x_i,y_j)$ is right the slope of -field vectors at grid points $(x_i,y_j)$, and we will divide these slopes into some number of scales, corresponding to the -degree of color shades. Here, we confine our interest to a continuous function $f(x,y)$ in two independent variables on the domain -$R=\{(x,y)\colon a\le x\le b,\,c\le y\le d\}$ and choose the scale of $10$ degrees. This number of degrees can be changed to any positive integer. - -According to the input data from the differential equation (\ref{eqn2}), the set $R$ and the grid points on it and the value $M=\max\{|f(x_i,y_j)|\colon -0\le i\le\lfloor m/\Delta x\rfloor,\,0\le j\le\lfloor n/\Delta y\rfloor\}$, where $m=b-a$ and $n=d-c$, -we can now define the degree of color shade for each arrow in our vector field. It should be an integer $n_{ij}$ such that -$n_{ij}=\lfloor 10|f(x_i,y_j)|/M\rfloor$, that is -\begin{equation}\label{bosung4}n_{ij}M\le 10|f(x_i,y_j)|<(n_{ij}+1)M.\end{equation} -For finding such an integer, in \TeX\ codes, we need one \texttt{\symbol{92}newcount} for it and two \texttt{\symbol{92}newdimen} for -$f(x_i,y_j)$ and intermediate values to be compared with $|f(x_i,y_j)|$. For more explanation, let us begin with settings -\texttt{\symbol{92}newcount\symbol{92}intg} (referring (ref.) to ``integer''), \texttt{\symbol{92}newdimen\symbol{92}slope} (ref. to ``slope'') and \texttt{\symbol{92}newdimen\symbol{92}interm} -(ref. to ``intermediate values''). Then, the integer $n_{ij}$ at stage $(i,j)$ within the two loops \texttt{\symbol{92}multido} can be defined by the recursive macro \texttt{\symbol{92}fintg} (ref. to ``find the integer'') as follows -\begin{verbatim} - \def\fintg{\interm=Mpt \interm=\intg\interm% - \ifdim\ifdim\slope<0pt -\fi\slope>\interm \advance\intg by 1\fintg\fi} -\end{verbatim} -where \texttt{M} and \texttt{\symbol{92}slope} are holding the values $M$ and $f(x_i,y_j)$, respectively. Note that, before running our macro, \verb!\slope! should be multiplied -by $10$ with the assignment \texttt{\symbol{92}slope=10\symbol{92}slope}, as defined in (\ref{bosung4}). Besides, by simulating the expression of $f(x,y)$, the calculation of $f(x_i,y_j)$ -should be declared with operations on \texttt{\symbol{92}newcount}s and \texttt{\symbol{92}newdimen}s. Then, the integer $n_{ij}$, which is found at stage $(i,j)$, should take its -degree, say $k$, from $0$ to $10$ by its value, suitably associated to the command \texttt{\symbol{92}psline[linecolor=red!case-k]\{->\}(P0)(P1)}. -Here, we choose \texttt{red} for the main color (it can be changed, of course), and \texttt{case-k} will be replaced with an appropriate percentage of \texttt{red}. Finally, -making such a color scale is local and relative, so we can use one more parameter in the procedure to adjust color shades. -The old procedure takes $6$ parameters and the new one will take two more parameters: one for a way of computing $f(x_i,y_j)$ and the other -for adjusting color shades. - -Let us take some examples on how to compute $f(x_i,y_j)$ by \TeX\ codes or by the commands from the package \texttt{calculator}\footnote{\footnotesize -Package author: Robert Fuster (\texttt{rfuster@mat.upv.es}).}. For a simple polynomial $f(x,y)$, -computing $f(x_i,y_j)$ by \TeX\ codes might be facile. Because \verb!\nx! and \verb!\ny! are respectively holding the values of -$x_i$ and $y_j$, we need the two corresponding dimensions \verb!\newdimen\fx! and \verb!\newdimen\fy! to take these values. By assigning \verb!\fx=\nx pt\fy=\ny pt!, -we compute $f(\verb!\nx!,\verb!\ny!)$ and assign its value to \verb!\slope!. The declaration of calculations for some cases of $f(x,y)$ is given in the following table. - -\begin{table}[htbp] -\centering\begin{tabular}{c|l} -$f(x,y)$&\multicolumn{1}{c}{\TeX\ codes for computing $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$} \\ \hline -$x+y$&\verb!\advance\slope by \fx \advance\slope by \fy!\\ \hline -$1-xy$&\verb!\advance\slope by -\decimal\fx\fy \advance\slope by 1pt!\\ \hline -$y(3-y)$&\verb!\advance\slope by -\decimal\fy\fy \advance\slope by 3\fy!\\ \hline -$y^2-xy$&\verb!\advance\slope by \decimal\fy\fy \advance\slope by -\decimal\fx\fy!\\ \hline -\end{tabular} -\end{table} -In the table, the command \verb!\decimal!, which is quotative from \cite{five} for producing decimal numbers from dimensions, is put in the preamble using a definition as -\begin{verbatim} - \def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} - \xch \def\dec#1pt{#1}\ych \def\decimal#1{\expandafter\dec \the#1} -\end{verbatim} - -For a transcendental or rational function $f(x,y)$, we should use the package \texttt{calculator} for -computing $f(x_i,y_j)$. The following table shows how to perform the calculations. -\begin{table}[htbp] -\centering\begin{tabular}{c|l} -$f(x,y)$&\multicolumn{1}{c}{The commands from the package \texttt{calculator} for computing $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$} \\ \hline -$\sin(y-x)$&\verb!\SUBTRACT{\ny}{\nx}{\sola}\SIN{\sola}{\solb}\slope=\solb pt!\\ \hline -\raisebox{-2ex}[0pt][0pt]{$2xy/(1+y^2)$}&\verb!\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}!\\ -&\verb!\Fncty{\ny}{\soly}{\Dsoly}\DIVIDE{\Dsoly}{\soly}{\tempa}!\\ -&\verb!\MULTIPLY{\nx}{\tempa}{\tempb}\slope=\tempb pt!\\ \hline -\end{tabular} -\end{table} - -From the old macro \verb!\vecfld!, we will construct the new one \verb!\vecfldnew! by adding up to the former the two parameters as described above. According to -the description of new parameters and of known ones, the calling sequence of \verb!\vecfldnew! may have the form of -$$\texttt{\symbol{92}vecfldnew\{\symbol{92}nx$=x_0+\Delta x$\}\{\symbol{92}ny$=y_0+\Delta y$\}\{$n_x$\}\{$n_y$\}\{$\ell$\}\{$f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$\}\{{\rm\TeX\ codes}\}\{$n_a$\}}$$ -where $n_a$ is an estimate value for $M$ and can be adjusted to be greater or less than $M$. This flexible mechanism might be to increase or decrease the degree of -color shades. Finally, \verb!\intg! and \verb!\slope! should be reset to -zero at the end of each stage. Now, all materials to make the new macro are ready, and a definition for it is suggested to be -\bigskip\hrule -\noindent\begin{tabular}{@{}l} -\verb!\def\vecfldnew#1#2#3#4#5#6#7#8{%!\\ -\verb!\newcount\intg \newdimen\slope \newdimen\interm \newdimen\fx \newdimen\fy!\\ -\verb!\def\fintg{\interm=#8 \interm=\intg\interm%!\\ -\verb! \ifdim\ifdim\slope<0pt -\fi\slope>\interm \advance\intg by 1\fintg\fi}!\\ -\verb!\multido{#2}{#4}!\\ -\verb!{\multido{#1}{#3}!\\ -\verb!{\curvepnodes[algebraic,plotpoints=2]{0}{1}!\\ -\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P}!\\ -\verb!#7\slope=10\slope \fintg \ifnum\intg>10\psline[linecolor=red]{->}(P0)(P1)!\\ -\verb+\else\ifnum\intg=0\psline[linecolor=red!5]{->}(P0)(P1)+\\ -\verb+\else\multiply\intg by 10\psline[linecolor=red!\the\intg]{->}(P0)(P1)\fi\fi+\\ -\verb+\intg=0\slope=0pt+\\ -\verb+}}}+ -\end{tabular} -\smallskip\hrule\smallskip - -If we predefine some scale of degrees, instead of the code $\verb!\ifnum\intg>10!\ldots\verb!\fi\fi!$, the structure \verb!\ifcase! can be used as -$$\begin{array}{c} -\verb!\ifcase\intg!\\ -\verb+\psline[linecolor=red!5]{->}(P0)(P1)\or+\\ -\verb+\psline[linecolor=red!10]{->}(P0)(P1)\or+\\ -\vdots\\ -\verb!\psline[linecolor=red]{->}(P0)(P1)\fi! -\end{array}$$ -\subsection{Examples} -The first example is given with the two $n_a$s to see how different the color shades are between the two cases. The left vector field in Figure \ref{figure1} -is made of the calling sequence -\begin{verbatim} -\vecfldnew{\nx=-2.00+0.3}{\ny=-2.00+0.3}{14}{14}{0.3}{(\nx)-2*(\ny)} -{\fy=\ny pt \fx=\nx pt \advance\slope by -2\fy \advance\slope by \fx}{9pt} -\end{verbatim} -\begin{figure}[htbp] -\centering\includegraphics[width=4.6cm]{vec5} -\hskip1cm\includegraphics[width=4.6cm]{vec6} -\caption{The vector fields of the equation $y'=x-2y$ with $n_a=\texttt{9pt}$ (the left) and $n_a=\texttt{5pt}$ (the right)}\label{figure1} -\end{figure} - -In Figure \ref{figure2}, the vector fields of the equations $y'=y-x$ and $y'=x(2-y)$ are respectively drawn by the calling sequences -\begin{verbatim} -\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{(\ny)-(\nx)} -{\fy=\ny pt \fx=\nx pt \advance\slope by -\fx \advance\slope by \fy}{5pt} -\end{verbatim} -and -\begin{verbatim} -\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{(\nx)*(2-(\ny))} -{\fy=\ny pt \fx=\nx pt \advance\slope by -\decimal\fx\fy -\advance\slope by 2\fx}{6pt} -\end{verbatim} -\begin{figure}[htbp] -\centering\includegraphics[width=6.2cm]{vec3} -\hskip1cm\includegraphics[width=6.2cm]{vec4} -\caption{The vector fields of the equation $y'=y-x$ (the left) and $y'=x(2-y)$ (the right).}\label{figure2} -\end{figure} - -Finally, we consider two more examples on vector fields of differential equations $y'=f(x,y)$ containing trigonometric or rational functions on the right side. The calling sequences -\begin{verbatim} -\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{sin(\nx)*cos(\ny)} -{\SIN{\nx}{\tmpa}\COS{\ny}{\tmpb}\MULTIPLY{\tmpa}{\tmpb}{\tmpc} -\slope=\tmpc pt}{0.6pt} -\end{verbatim} -and -\begin{verbatim} -\vecfldnew{\nx=-3.00+0.3}{\ny=-3.00+0.3}{20}{20}{0.3}{2*(\nx)*(\ny)/(1+(\ny)^2)} -{\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}\Fncty{\ny}{\soly}{\Dsoly} -\DIVIDE{\Dsoly}{\soly}{\tempa}\MULTIPLY{\nx}{\tempa}{\tempb} -\slope=\tempb pt}{2.5pt} -\end{verbatim} -respectively result in the vector field on the left and on the right in Figure \ref{figure3}. - -\begin{figure}[htbp] -\centering\includegraphics[width=6.2cm]{vec1} -\hskip1cm\includegraphics[width=6.2cm]{vec2} -\caption{The vector fields of the equation $y'=\sin(x)\cos(y)$ (the left) and $y'=2xy/(1+y^2)$ (the right).}\label{figure3} -\end{figure} - -\acknw -I am very grateful to -\begin{itemize} -\item Timothy Van Zandt, Herbert Vo\ss, Dominique Rodriguez and Michael Sharpe for helping me with -their great works on \texttt{PSTricks}. -\item H\`an Th\hantt\rlap\accentcircflx\ Th\`anh for helping me with his pdf\hskip.03em\LaTeX\ program. -\item Robert Fuster for his very useful package \texttt{calculator}. -\end{itemize} -\begin{thebibliography}{10} -\bibitem{one} Dominique Rodriguez, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pstricks-add}: Additional Macros for PSTricks\/}. -Version 3.60, \url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 -\bibitem{two} Timothy Van Zandt, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pst-node}: Nodes and node connections}. -Version 1.29, \url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 -\bibitem{three} Helmut Kopka \&\ Patrick W. Daly. \textsl{Guide to \LaTeX \/}. -Addison-Wesley, Fourth Edition, 2004, ISBN 0321173856 -\bibitem{four} Timothy Van Zandt. \textsl{User's Guide\/}. Version 1.5,\\ -\url{http://ctan.org/tex-archive/graphics/pstricks/base}, 2007 -\bibitem{five}Eitan M. Gurari. \textsl{Writing With \TeX \/}, McGraw-Hill, Inc., 1994, ISBN 0-07-025207-6 -\bibitem{six} Robert Fuster. \textsl{\texttt{calculator-calculus}: Scientific Calculations With \LaTeX \/}. Version 1.0a, -\url{http://ctan.org/tex-archive/macros/latex/contrib/calculator}, 2012 -\end{thebibliography} -\end{document} diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/ThreeAppsPDF.tex b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/ThreeAppsPDF.tex new file mode 100644 index 00000000000..6c5d9f06377 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/ThreeAppsPDF.tex @@ -0,0 +1,1036 @@ +\documentclass[11pt,a4paper,oneside]{article} +\usepackage{calculator} +\usepackage{calculus} +\usepackage{amsthm} +\usepackage{amsmath} +\usepackage{cmtt} +\usepackage[dvips]{geometry} +\usepackage{pstricks} +\usepackage{graphicx} +\usepackage{graphics} +\usepackage{pst-plot} +\usepackage{pst-node} +\usepackage{multido} +\usepackage{pst-xkey} +\usepackage{pst-func} +\usepackage{pstricks-add} +\usepackage[pdftex,colorlinks,linktocpage]{hyperref} +\def\hantt{\^e}\def\accentcircflx{\hskip-.3em\raisebox{0.32ex}{\'{}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\RiemannSum#1#2#3#4#5#6#7#8#9{% +\psplot[linecolor=blue]{#1}{#2}{#3} +\pscustom[linecolor=red]{% +\psline{-}(#1,0)(#1,0) +\multido{\ni=#5,\ne=#6}{#4} +{\psline(*{\ni} {#8})(*{\ne} {#9})}} +\multido{\ne=#6,\nc=#7}{#4} +{\psdot(*{\nc} {#3}) +\psline[linestyle=dotted,dotsep=1.5pt](\nc,0)(*{\nc} {#3}) +\psline[linecolor=red](\ne,0)(*{\ne} {#9})} +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcount\Fa\newcount\Fct\newcount\tempA +\def\Factor{\ifnum\Fa=1\relax\else\advance\Fa by -1\multiply\Fct by \Fa\Factor\fi} +\def\FACTORIAL#1{\Fa=#1 \ifnum\Fa=0 \Fct=1\relax\else\Fct=\Fa \Factor\fi\global\tempA=\Fct} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcount\BINOM +\newcount\temp +\newcount\tmp +\def\BINOMIAL#1#2{% +\temp=#1\advance\temp by -#2 +\FACTORIAL{#1} +\tmp=\tempA +\FACTORIAL{\temp} +\temp=\tempA +\divide\tmp by \temp +\FACTORIAL{#2} +\temp=\tempA +\divide\tmp by \temp\global\BINOM=\tmp} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newdimen\Xa\newdimen\Yb\newcount\kc +\newdimen\BSTemp +\def\xmult#1{\ifnum\kc<#1\advance\kc by 1\Yb=\decimal\Xa\Yb\xmult{#1}\else\relax\fi} +\def\BERNSTEIN#1#2#3{\Xa=#3pt\kc=0\Yb=1pt\xmult{#1}\kc=0\Xa=-\Xa\advance\Xa by 1pt\xmult{#2} +\BINOMIAL{6}{#1}\global\BSTemp=\BINOM\Yb} +\newdimen\Xrf\newdimen\Yrf +\newdimen\XBST\newdimen\YBST +\def\XBC#1#2#3{% +\BERNSTEIN{0}{6}{#2} +\Xrf=#1pt +\XBST=\decimal\BSTemp\Xrf +\BERNSTEIN{1}{5}{#2} +\Xrf=#1pt\advance\Xrf by -1.5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{2}{4}{#2} +\Xrf=#1pt\advance\Xrf by 2pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{3}{3}{#2} +\Xrf=#1pt\advance\Xrf by 6pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{4}{2}{#2} +\Xrf=#1pt\advance\Xrf by 5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{5}{1}{#2} +\Xrf=#1pt\advance\Xrf by 1.5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{6}{0}{#2} +\Xrf=#1pt +\advance\XBST by \decimal\BSTemp\Xrf +\global\XBST=#3\XBST} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\YBC#1#2#3{% +\BERNSTEIN{0}{6}{#2} +\Yrf=#1pt +\YBST=\decimal\BSTemp\Yrf +\BERNSTEIN{1}{5}{#2} +\Yrf=#1pt\advance\Yrf by 2pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{2}{4}{#2} +\Yrf=#1pt\advance\Yrf by 5pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{3}{3}{#2} +\Yrf=#1pt\advance\Yrf by 3pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{4}{2}{#2} +\Yrf=#1pt\advance\Yrf by -1pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{5}{1}{#2} +\Yrf=#1pt\advance\Yrf by -2pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{6}{0}{#2} +\Yrf=#1pt +\advance\YBST by \decimal\BSTemp\Yrf +\global\YBST=#3\YBST} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\XBsix#1#2{% +(1-t)^6*(#1)*(#2)+6*t*(1-t)^5*(#1-1.5)*(#2)+15*t^2*(1-t)^4*(#1+2)*(#2)+ +20*t^3*(1-t)^3*(#1+6)*(#2)+15*t^4*(1-t)^2*(#1+5)*(#2)+6*t^5*(1-t)*(#1+1.5)*(#2)+t^6*(#1)*(#2)} +\def\YBsix#1#2{% +(1-t)^6*(#1)*(#2)+6*t*(1-t)^5*(#1+2)*(#2)+15*t^2*(1-t)^4*(#1+5)*(#2)+ +20*t^3*(1-t)^3*(#1+3)*(#2)+15*t^4*(1-t)^2*(#1-1)*(#2)+6*t^5*(1-t)*(#1-2)*(#2)+t^6*(#1)*(#2)} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\NetDraw#1#2#3#4#5{% +\newcount\CellNum +\newdimen\XRef +\newdimen\YRef +\newdimen\Xfact +\newdimen\Yfact +\newdimen\XMin +\newdimen\XMax +\newdimen\YMin +\newdimen\YMax +\newdimen\Xsize +\newdimen\Ysize +\newdimen\tempx +\newdimen\tempy +\CellNum=#1 +\XRef=#2pt +\YRef=#3pt +\Xfact=#4pt +\Yfact=#5pt +\XMin=\decimal\Xfact\XRef \advance\XMin by -1.50\Xfact +\XMax=\decimal\Xfact\XRef \advance\XMax by 5.00\Xfact +\YMin=\decimal\Yfact\YRef \advance\YMin by -6.00\Yfact +\YMax=\decimal\Yfact\YRef \advance\YMax by \Yfact +\Xsize=\XMax \advance\Xsize by -\XMin \divide\Xsize by \CellNum +\Ysize=\YMax \advance\Ysize by -\YMin \divide\Ysize by \CellNum +\parametricplot[algebraic,fillstyle=solid,fillcolor=yellow!30,plotpoints=200,linewidth=0.5pt]{0}{0.5} +{\XBeight{\decimal\XRef}{\decimal\Xfact}|\YBeight{\decimal\YRef}{\decimal\Yfact}} +\parametricplot[algebraic,fillstyle=solid,fillcolor=yellow!30,plotpoints=200,linewidth=0.5pt]{0.5}{1} +{\XBeight{\decimal\XRef}{\decimal\Xfact}|\YBeight{\decimal\YRef}{\decimal\Yfact}} +\multido{\nz=0.00+0.05}{200}{\XBC{\decimal\XRef}{\nz}{\decimal\Xfact}\YBC{\decimal\YRef}{\nz}{\decimal\Yfact} +\multido{\nx=\decimal\XMin+\decimal\Xsize}{\the\CellNum} +{\tempx=\nx pt\multido{\ny=\decimal\YMin+\decimal\Ysize}{\the\CellNum} +{\tempy=\ny pt\ifdim\YBST<\tempy\relax\else\advance\tempy by \Ysize% + \ifdim\YBST>\tempy\relax\else + \ifdim\XBST<\tempx\relax\else\advance\tempx by \Xsize + \ifdim\XBST>\tempx\relax\else + \pspolygon[fillstyle=solid,fillcolor=red!90,linecolor=black,linewidth=0.2pt] + (\nx,\ny)(\decimal\tempx,\ny)(\decimal\tempx,\decimal\tempy)(\nx,\decimal\tempy)(\nx,\ny)\relax\fi\fi\fi\fi} +}} +\advance\CellNum by 1 +\multido{\nx=\decimal\XMin+\decimal\Xsize}{\the\CellNum} +{\psline[linewidth=0.2pt](\nx,\decimal\YMax)(\nx,\decimal\YMin)} +\multido{\ny=\decimal\YMin+\decimal\Ysize}{\the\CellNum} +{\psline[linewidth=0.2pt](\decimal\XMin,\ny)(\decimal\XMax,\ny)} +\parametricplot[algebraic,linecolor=white,plotpoints=200,linewidth=0.5pt]{0}{0.5} +{\XBeight{\decimal\XRef}{\decimal\Xfact}|\YBeight{\decimal\YRef}{\decimal\Yfact}} +\parametricplot[algebraic,linecolor=white,plotpoints=200,linewidth=0.5pt]{0.5}{1} +{\XBeight{\decimal\XRef}{\decimal\Xfact}|\YBeight{\decimal\YRef}{\decimal\Yfact}} +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\avecfld#1#2#3#4#5#6{% +\multido{#2}{#4} +{\multido{#1}{#3} +{\parametricplot[algebraic,arrows=->,linecolor=red]{0}{1} +{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\anothervecfld#1#2#3#4#5#6{% +\multido{#2}{#4} +{\multido{#1}{#3} +{\curvepnodes[algebraic,plotpoints=2]{0}{1} +{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P} +\psline[linewidth=0.7pt,linecolor=red]{->}(P0)(P1)}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} +\xch \def\dec#1pt{#1}\ych \def\decimal#1{\expandafter\dec \the#1} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\vecfldnew#1#2#3#4#5#6#7#8{% +\newcount\intg \newdimen\fx \newdimen\fy \newdimen\slope \newdimen\interm +\def\fintg{\interm=#8 \interm=\intg\interm \ifdim\ifdim\slope<0pt-\fi\slope<\interm\advance\intg by -1\relax\else\advance\intg by 1\fintg\fi} +\multido{#2}{#4} +{\multido{#1}{#3} +{\curvepnodes[algebraic,plotpoints=2]{0}{1}{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P} +#7 \slope=10\slope\fintg +\ifnum\intg>10\psline[linecolor=red]{->}(P0)(P1)\else\ifnum\intg=0\psline[linecolor=red!5]{->}(P0)(P1)\else\multiply\intg by 10 +\psline[linecolor=red!\the\intg]{->}(P0)(P1)\fi\fi +\intg=0\slope=0pt +}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagestyle{headings} +\topmargin=-0.6cm +\textwidth=16.7cm +\textheight=23cm +\headheight=2.5ex +\headsep=0.6cm +\oddsidemargin=.cm +\evensidemargin=-.4cm +\parskip=0.7ex plus0.5ex minus 0.5ex +\baselineskip=17pt plus2pt minus2pt +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\catcode`@=11 +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\large\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\bfseries}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\gdef\acknw{\section*{% +{\acknwname}\markright{\protect\textsl{\acknwname}}}% +\addcontentsline{toc}{section}{\acknwname}} +\gdef\acknwname{Acknowledgment} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\renewcommand\sectionmark[1]{\markright{\thesection. #1}} +\newcounter{lk} +\newenvironment{listof}{\begin{list}{\rm(\roman{lk})}{\usecounter{lk}% +\setlength{\topsep}{0ex plus0.1ex}% +\setlength{\labelwidth}{1cm}% +\setlength{\itemsep}{0ex plus0.1ex}% +\setlength{\itemindent}{0.5cm}% +}}{\end{list}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title{Three applications of macros in \texttt{PSTricks}\thanks{PSTricks is the original work of Timothy Van Zandt (email address: \texttt{tvz@econ.insead.fr}). +It is currently edited by Herbert Vo\ss\ (\texttt{hvoss@tug.org}).}} +\author{Le Phuong Quan\\ +\small{(Cantho University, Vietnam)}\\ +\small{\texttt{lpquan@ctu.edu.vn}}} +\begin{document} +\maketitle +\tableofcontents +\section{Drawing approximations to the area under a graph by rectangles} +\subsection{Description} + +We recall here an operation in Calculus. Let $f(x)$ be a function, defined and bounded on +an interval $[a,b]$. If $f$ is integrable (in Riemann sense) on $[a,b]$, then its definite integral over this interval +is +$$\int_a^bf(x)dx=\lim_{\|P\|\to 0}\sum_{i=1}^nf(\xi_i)\Delta x_i,$$ +where $P\colon a=x_0}(0,0)(8.5,11)!\\ +\verb!\end{pspicture}! +\end{tabular}\hrule\bigskip + +In the second example below, we will draw an approximation to the integral of $f(x)=x\sin x$ over $[1,9]$. +Choosing $n=10$ and computing parameters needed, we get Figure \ref{Fig4}, mainly by +the command +\begin{align*} +&\textmtt{\symbol{92}RiemannSum\{$1$\}\{$9$\}\{$x\sin x$\}\{$10$\}\{$1.00+0.80$\}\{$1.80+0.80$\}\{$1.40+0.80$\}}\\ +&\textmtt{\{$(x+0.4)\sin(x+0.4)$\}\{$(x-0.4)\sin(x-0.4)$\}} +\end{align*} +in the drawing procedure. +\begin{figure}[htbp] +\centering\includegraphics[height=6.75cm]{Fig4} +\caption{An approximation to the integral of $f(x)=x\sin x$ over $[1,9]$.}\label{Fig4} +\end{figure} +\section{Drawing the vector field of an ordinary differential equation of order one} +\subsection{Description}\label{sect1} + +Let us consider the differential equation +\begin{equation}\label{eqn2} +\frac{dy}{dx}=f(x,y). +\end{equation} +At each point $(x_0,y_0)$ in the domain $D$ of $f$, we will put a vector $\mathbf{v}$ with slope +$k=f(x_0,y_0)$. If $y(x_0)=y_0$, then $k$ is the slope of the tangent to the solution curve $y=y(x)$ +of (\ref{eqn2}) at $(x_0,y_0)$. The $\mathbf{v}$'s make a \textsl{vector field\/} and the picture +of this field would give us information about the shape of solution curves of (\ref{eqn2}), even +we have not found yet any solution of (\ref{eqn2}). + +The vector field of (\ref{eqn2}) will be depicted on a finite grid of points in $D$. This grid is made of +lines, paralell to the axes $Ox$ and $Oy$. The intersectional points of those lines are called \textsl{grid points\/} +and often indexed by $(x_i,y_j)$, $i=0,\ldots,N_x$, $j=0,\ldots,N_y$. For convenience, we will use +polar coordinates to locate the terminal point $(x,y)$ of a field vector, with the initial point at +grid point $(x_i,y_j)$. Then, we can write +\begin{align*} +x&=x_i+r\cos\varphi,\\ +y&=y_j+r\sin\varphi. +\end{align*} +Because $k=f(x_i,y_j)=\tan\varphi$ is finite, we may take $-\pi/2<\varphi<\pi/2$. +From $\sin^2\varphi+\cos^2\varphi=1$ and $\sin\varphi=k\cos\varphi$, we derive +$$\cos\varphi=\frac{1}{\sqrt{1+k^2}},\quad\sin\varphi=\frac{k}{\sqrt{1+k^2}}.$$ +\begin{figure}[htbp] +\centering\includegraphics[height=5cm]{Fig5} +\caption{Field vectors on a grid.}\label{Fig5} +\end{figure} +The field vectors should all have the same magnitude and we choose here that length to be +$1/2$, that means $r=1/2$. Thus, vectors on the grid have their initial and terminal points as +$$(x_i,y_j),\quad \Big(x_i+\frac{1}{2}\cos\varphi,y_j+\frac{1}{2}\sin\varphi\Big),$$ +respectively. Hence, we easily get the parametrization of a vector at grid point +$(x_i,y_j)$: +\begin{align*} +x&=x_i+\frac{t}{2}\cos\varphi=x_i+\frac{t}{2\sqrt{1+k^2}},\\ +y&=y_j+\frac{t}{2}\sin\varphi=y_j+\frac{tk}{2\sqrt{1+k^2}}, +\end{align*} +where $t$ goes from $0$ to $1$, as along the direction of the vector. + +Of macros in \texttt{PSTricks} to draw lines from their parametrization, we select \texttt{\symbol{92}parametricplot}\footnote{\footnotesize +This macro is of ones, often added and updated in the package \texttt{pstricks-add}, the authors: +Dominique Rodriguez (\texttt{dominique.rodriguez@waika9.com}), Herbert Vo\ss\ (\texttt{voss@pstricks.de}).} +for its fitness. The macro has the syntax +$$\textmtt{\symbol{92}parametricplot[{\it settings}]\{$t_{\rm min}$\}\{$t_{\rm max}$\}\{$x(t)$|$y(t)$\}},$$ +where we may use the option \texttt{algebraic} to make the declaration of $x(t)$ and $y(t)$ simpler +in \texttt{ASCII} code. + +From the above description of one field vector, we now construct the vector field +on a grid within a domain $R=\{(x,y)\colon a\le x\le b,\,c\le y\le d\}$. To determine the grid, we confine grid points to the range +\begin{equation}\label{eqn3} +a\le x_i\le b,\quad c\le y_j\le d. +\end{equation} +We start with initial values $x_0=a$ and $y_0=c$ to have points $(x_i,y_j)$ with increments $\Delta x=\Delta y=\delta$, corresponding to the length of vectors and the distance +between grid points as indicated in Figure \ref{Fig5}. Thus, to draw vectors at grid points +$(x_i,y_j)$, we need two loops for indices $i$ and $j$, with $0\le i\le\lfloor m/\delta\rfloor$, $0\le j\le\lfloor n/\delta\rfloor$, where +$m=b-a$, $n=d-c$. Apparently, these two loops are nested \texttt{\symbol{92}multido}s, with variable declaration +for each loop as follows +\begin{align*} +\texttt{\symbol{92}nx}&=\text{initial value}+\text{increment}=x_0+\Delta x,\\ +\texttt{\symbol{92}ny}&=\text{initial value}+\text{increment}=y_0+\Delta y. +\end{align*} +Finally, we will replace \texttt{\symbol{92}nx}, \texttt{\symbol{92}ny} by $x_i$, $y_j$ in the +below calling sequence for simplicity. + +Thus, the main command to draw the vector field of the equation (\ref{eqn2}) on the grid (\ref{eqn3}) +is +\begin{align*} +&\textmtt{\symbol{92}multido\big\{$y_j=y_0+\Delta y$\big\}\big\{$\lfloor n/\delta\rfloor$\big\}}\textmtt{\bigg\{\symbol{92}multido\big\{$x_i=x_0+\Delta x$\big\}\big\{$\lfloor m/\delta\rfloor$\big\}}\\ +&\quad\textmtt{\Big\{\symbol{92}parametricplot[{\it settings}]\{$0$\}\{$1$\}\Big\{$x_i+\frac{t}{2\sqrt{1+\big[f(x_i,y_j)\big]^2}}$\Big| +$y_j+\frac{tf(x_i,y_j)}{2\sqrt{1+\big[f(x_i,y_j)\big]^2}}$\Big\}\bigg\}} +\end{align*} +where we at least use \texttt{arrows=->} and \texttt{algebraic} for \textit{settings}. + +We can combine the steps mentioned above to define a drawing procedure, say \texttt{\symbol{92}avecfld}, +that consists of $6$ parameters in the order as +\texttt{\symbol{92}nx=}$x_0+\Delta x$, \texttt{\symbol{92}ny=}$y_0+\Delta y$, $\lfloor m/\delta\rfloor$, $\lfloor n/\delta\rfloor$, $\delta$ +and $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$. We may change these values to modify +the vector field or to avoid the vector intersection. Such a procedure is suggested to be +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\def\avecfld#1#2#3#4#5#6{%!\\ +\verb!\multido{#2}{#4}{\multido{#1}{#3}!\\ +\verb!{\parametricplot[algebraic,arrows=->,linecolor=red]{0}{1}!\\ +\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}}}}! +\end{tabular}\hrule\bigskip + +Actually, the procedure \texttt{\symbol{92}parametricplot} is used here only to draw a vector by its parametrization $(x(t),y(t))$, so we can use the structure \texttt{\symbol{92}curvepnodes} in the package \texttt{pst-node}\footnote{\footnotesize +Package authors: Timothy Van Zandt (\texttt{tvz@econ.insead.fr}), Michael Sharpe (\texttt{msharpe@euclid.ucsd.edu}) and Herbert Vo\ss\ (\texttt{hvoss@tug.org}).} to +extract the two ending points of the curve $(x(t),y(t))$ by the command +$$\textmtt{\symbol{92}curvepnodes[algebraic,plotpoints=2]\{0\}\{1\}\{$x(t)$|$y(t)$\}\{P\}},$$ +where \texttt{P} is a name of the root of nodes and we just get the two nodes \texttt{P0}, \texttt{P1} when executing this command. Then, the corresponding +vector is drawn by the command +$$\textmtt{\symbol{92}psline[linecolor={\it settings}]\{->\}(P0)(P1)}$$ + +Therefore, another procedure to draw a vector field may be defined as +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\def\anothervecfld#1#2#3#4#5#6{%!\\ +\verb!\multido{#2}{#4}{\multido{#1}{#3}!\\ +\verb!{\curvepnodes[algebraic,plotpoints=2]{0}{1}!\\ +\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P}!\\ +\verb!\psline[linecolor=red]{->}(P0)(P1)}}}! +\end{tabular}\hrule +\subsection{Examples} +Firstly, we consider the equation that describes an object falling in a resistive medium: +\begin{equation}\label{eqn4} +\frac{dv}{dt}=9.8-\frac{v}{5}, +\end{equation} +where $v=v(t)$ is the speed of the object in time $t$. In Figure \ref{Fig6}, the vector field of (\ref{eqn4}) is given +on the grid $R=\{(t,y)\colon 0\le t\le 9,\,46\le v\le 52\}$, together with the graph of the equilibrium solution +$v=49$. +\begin{figure}[htbp] +\centering\includegraphics[height=5.85cm]{Fig6} +\caption{The vector field of (\ref{eqn4}).}\label{Fig6} +\end{figure} + +Figure \ref{Fig6} is made of the following \LaTeX\ code: +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\begin{pspicture}(0,46)(9.5,52.5)!\\ +\verb!\anothervecfld{\nx=0.25+0.50}{\ny=46.25+0.50}{18}{12}{0.5}{9.8-0.2*\ny}!\\ +\verb!\psplot[algebraic,linewidth=1.2pt]{0}{9}{49}!\\ +\verb!\psaxes[Dy=1,Dx=1,Oy=46]{->}(0,46)(0,46)(9.5,52.5)!\\ +\verb!\rput(9.5,45.8){$t$}\rput(-0.2,52.5){$y$}!\\ +\verb!\end{pspicture}! +\end{tabular}\hrule\bigskip + +Let us next consider the problem +\begin{equation}\label{eqn5} +\frac{dy}{dx}=x+y,\quad y(0)=0. +\end{equation} +It is easy to check that $y=e^x-x-1$ is the unique solution to (\ref{eqn5}). We now draw +the vector field of (\ref{eqn5}) and the solution curve\footnote{\footnotesize +We have used ${\rm ch}(1)+{\rm sh}(1)$ for the declaration of $e$, natural base of logarithmic function.} on the grid $R=\{(x,y)\colon 0\le x\le 3,\,0\le y\le 5\}$ in +Figure \ref{Fig7}. +\begin{figure}[htbp] +\centering\includegraphics[height=5.5cm]{Fig7} +\caption{The vector field of (\ref{eqn5}).}\label{Fig7} +\end{figure} + +We then go to the logistic equation, which is chosen to be a model for the dependence +of the population size $P$ on time $t$ in Biology: +\begin{equation}\label{eqn6} +\frac{dP}{dt}=kP\Big(1-\frac{P}{M}\Big), +\end{equation} +where $k$ and $M$ are constants, respectively various to selected species and environment. +For specification, we take, for instance, $k=0.5$ and $M=100$. The right hand side of +(\ref{eqn6}) then becomes $f(t,P)=0.5\,P(1-0.01\,P)$. In Figure \ref{Fig8}, we draw the vector field +of (\ref{eqn6}) on the grid $R=\{(t,P)\colon 0\le t\le 10,\,95\le P\le 100\}$ and the equilibrium +solution curve $P=100$. Furthermore, with the initial condition $P(0)=95$, the equation (\ref{eqn6}) +has the unique solution $P=1900(e^{-0.5t}+19)^{-1}$. This solution curve is also given in Figure \ref{Fig8}. +\begin{figure}[htbp] +\centering\includegraphics[height=4.4cm]{Fig8} +\caption{The vector field of (\ref{eqn6}) with $k=0.5$ and $M=100$.}\label{Fig8} +\end{figure} + +The previous differential equations are all of seperated variable or linear cases that +can be solved for closed-form solutions by some simple integration formulas. We will consider one more +equation of the non-linear case whose solution can only be approximated by numerical methods. +The vector field of such an equation is so useful and we will use the Runge-Kutta curves (of order $4$) +to add more information about the behaviour of solution curves. Here, those Runge-Kutta curves are depicted by the procedure +\texttt{\symbol{92}psplotDiffEqn}, also updated from the package \texttt{pstricks-add}. + +The vector field of the non-linear differential equation +\begin{equation}\label{eqn7} +\frac{dy}{dx}=y^2-xy+1 +\end{equation} +will be depicted on the grid $R=\{(x,y)\colon -3\le x\le 3,\,-3\le y\le 3\}$ and the solutions +of Cauchy problems for (\ref{eqn7}), corresponding to initial conditions +\begin{listof} +\item $y(-3)=-1$, +\item $y(-2)=-3$, +\item $y(-3)=-0.4$, +\end{listof} +will be approximated by the method of Runge-Kutta, with the grid size $h=0.2$. It is very easy +to recognize approximate curves, respective to (i), (ii) and (iii) in Figure \ref{Fig9} below. +\begin{figure}[htbp] +\centering\includegraphics[height=7.8cm]{Fig9} +\caption{The vector field of (\ref{eqn7}) and the Runge-Kutta curves.}\label{Fig9} +\end{figure} +\subsection{Remarks on how to color arrows properly for a vector field} +There remains a problem in drawing a vector field. That is coloring arrows. +Obviously, their color shade should vary according to their slope and this would give us the picture of domains containing +increase or decrease solutions of a differential equation. In some cases, we even know how large the rate of change of those +solutions is in a specific domain. + +In Subsection \ref{sect1}, we know for the equation (\ref{eqn2}) that $f(x_i,y_j)$ is right the slope of +field vectors at grid points $(x_i,y_j)$, and we will divide these slopes into some number of scales, corresponding to the +degree of color shades. Here, we confine our interest to a continuous function $f(x,y)$ in two independent variables on a domain +$R=\{(x,y)\colon a\le x\le b,\,c\le y\le d\}$ and choose the scale of $10$ degrees. This number of degrees can be changed to any positive integer. + +According to the input data from the differential equation (\ref{eqn2}), the set $R$ and the grid points on it and the value $M=\max\{|f(x_i,y_j)|\colon +0\le i\le\lfloor m/\Delta x\rfloor,\,0\le j\le\lfloor n/\Delta y\rfloor\}$, where $m=b-a$ and $n=d-c$, +we can now define the degree of color shade for each arrow in our vector field. It should be an integer $n_{ij}$ such that +$n_{ij}=\lfloor 10|f(x_i,y_j)|/M\rfloor$, that is +\begin{equation}\label{eqn8}n_{ij}M\le 10|f(x_i,y_j)|<(n_{ij}+1)M.\end{equation} +For finding such an integer, in \TeX\ codes, we need one \texttt{\symbol{92}newcount} for it and two \texttt{\symbol{92}newdimen} for +$f(x_i,y_j)$ and intermediate values to be compared with $|f(x_i,y_j)|$. For more explanation, let us begin with settings +\texttt{\symbol{92}newcount\symbol{92}intg} (referring (ref.) to ``integer''), \texttt{\symbol{92}newdimen\symbol{92}slope} (ref. to ``slope'') and \texttt{\symbol{92}newdimen\symbol{92}interm} +(ref. to ``intermediate values''). Then, the integer $n_{ij}$ at stage $(i,j)$ within the two \texttt{\symbol{92}multido} loops can be defined by the recursive macro \texttt{\symbol{92}fintg} (ref. to ``find the integer'') as follows +\begin{verbatim} + \def\fintg{\interm=Mpt \interm=\intg\interm% + \ifdim\ifdim\slope<0pt -\fi\slope<\interm\advance\intg by -1\relax + \else\advance\intg by 1\fintg\fi} +\end{verbatim} +where \texttt{M} and \texttt{\symbol{92}slope} are holding the values $M$ and $f(x_i,y_j)$, respectively. Note that, before running our macro, \verb!\slope! should be multiplied +by $10$ with the assignment \texttt{\symbol{92}slope=10\symbol{92}slope}, as defined in (\ref{eqn8}). Besides, by simulating the expression of $f(x,y)$, the calculation of $f(x_i,y_j)$ +should be declared with operations on \texttt{\symbol{92}newcount}s and \texttt{\symbol{92}newdimen}s. Then, the integer $n_{ij}$, which is found at stage $(i,j)$, should take its +degree, say $k$, from $0$ to $10$ by its value, suitably associated to the command \textmtt{\symbol{92}psline[linecolor=red!case-k]\{->\}(P0)(P1)}. +Here, we choose \texttt{red} for the main color (it can be changed, of course), and \texttt{case-k} will be replaced with an appropriate percentage of \texttt{red}. Finally, +such a color scale is local and relative, so we can use one more parameter in the procedure to adjust color shades. +The old procedures take $6$ parameters and the new one will take two more parameters: one for declaration of computing $f(x_i,y_j)$ and the other +for adjusting color shades. + +Let us take some examples on how to compute $f(x_i,y_j)$ by \TeX\ codes or by commands from the package \texttt{calculator}\footnote{\footnotesize +Package author: Robert Fuster (\texttt{rfuster@mat.upv.es}).}. For a simple polynomial $f(x,y)$, +computing $f(x_i,y_j)$ by \TeX\ codes might be facile. Because \verb!\nx! and \verb!\ny! are respectively holding values of +$x_i$ and $y_j$, we need the two corresponding variables \verb!\newdimen\fx! and \verb!\newdimen\fy! to take these values. By assigning \verb!\fx=\nx pt\fy=\ny pt!, +we compute $f(\verb!\nx!,\verb!\ny!)$ and assign its value to \verb!\slope!. The declaration of calculations for some cases of $f(x,y)$ is given in the following table. + +\begin{table}[htbp] +\centering\begin{tabular}{c|l} +$f(x,y)$&\multicolumn{1}{c}{\TeX\ codes for computing $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$} \\ \hline +$x+y$&\verb!\advance\slope by \fx \advance\slope by \fy!\\ \hline +$1-xy$&\verb!\advance\slope by -\decimal\fx\fy \advance\slope by 1pt!\\ \hline +$y(3-y)$&\verb!\advance\slope by -\decimal\fy\fy \advance\slope by 3\fy!\\ \hline +$y^2-xy$&\verb!\advance\slope by \decimal\fy\fy \advance\slope by -\decimal\fx\fy!\\ \hline +\end{tabular} +\end{table} +In the table, the command \verb!\decimal!, which is quotative from \cite{five} for producing decimal numbers from dimensions, is put in the preamble using a definition as +\begin{verbatim} + \def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} + \xch \def\dec#1pt{#1}\ych \def\decimal#1{\expandafter\dec \the#1} +\end{verbatim} + +For a transcendental or rational function $f(x,y)$, we may use the package \texttt{calculator} for +computing $f(x_i,y_j)$. The following table shows how to perform calculations. +\begin{table}[htbp] +\centering\begin{tabular}{c|l} +$f(x,y)$&\multicolumn{1}{c}{The commands from the package \texttt{calculator} for computing $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$} \\ \hline +$\sin(y-x)$&\verb!\SUBTRACT{\ny}{\nx}{\sola}\SIN{\sola}{\solb}\slope=\solb pt!\\ \hline +\raisebox{-2ex}[0pt][0pt]{$2xy/(1+y^2)$}&\verb!\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}!\\ +&\verb!\Fncty{\ny}{\soly}{\Dsoly}\DIVIDE{\Dsoly}{\soly}{\tempa}!\\ +&\verb!\MULTIPLY{\nx}{\tempa}{\tempb}\slope=\tempb pt!\\ \hline +\end{tabular} +\end{table} + +From the old macros \verb!\avecfld! or \verb!\anothervecfld!, we will construct the new one \verb!\vecfldnew! by adding up to the former the two parameters as described above. According to +the description of new parameters and of known ones, the calling sequence of \verb!\vecfldnew! may have the form of +$$\textmtt{\symbol{92}vecfldnew\{\symbol{92}nx$=x_0+\Delta x$\}\{\symbol{92}ny$=y_0+\Delta y$\}\{$n_x$\}\{$n_y$\}\{$\ell$\}\{$f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$\}\{{\rm\TeX\ codes}\}\{$n_a$\}}$$ +where $n_a$ is an estimate value for $M$ and can be adjusted to be greater or less than $M$. This flexible mechanism might be to increase or decrease the degree of +color shades. Finally, \verb!\intg! and \verb!\slope! should be reset to +zero at the end of each stage. Now, all materials to make the new macro are ready, and its definition is suggested to be +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\def\vecfldnew#1#2#3#4#5#6#7#8{%!\\ +\verb!\newcount\intg \newdimen\slope \newdimen\interm \newdimen\fx \newdimen\fy!\\ +\verb!\def\fintg{\interm=#8 \interm=\intg\interm%!\\ +\verb! \ifdim\ifdim\slope<0pt -\fi\slope>\interm \advance\intg by 1\fintg\fi}!\\ +\verb!\multido{#2}{#4}!\\ +\verb!{\multido{#1}{#3}!\\ +\verb!{\curvepnodes[algebraic,plotpoints=2]{0}{1}!\\ +\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P}!\\ +\verb!#7\slope=10\slope \fintg \ifnum\intg>10\psline[linecolor=red]{->}(P0)(P1)!\\ +\verb+\else\ifnum\intg=0\psline[linecolor=red!5]{->}(P0)(P1)+\\ +\verb+\else\multiply\intg by 10\psline[linecolor=red!\the\intg]{->}(P0)(P1)\fi\fi+\\ +\verb+\intg=0\slope=0pt+\\ +\verb+}}}+ +\end{tabular}\hrule\bigskip + +If we predefine some scale of degrees, instead of the code $\verb!\ifnum\intg>10!\ldots\verb!\fi\fi!$, the structure \verb!\ifcase! can be used as +$$\begin{array}{c} +\verb!\ifcase\intg!\\ +\verb+\psline[linecolor=red!5]{->}(P0)(P1)\or+\\ +\verb+\psline[linecolor=red!10]{->}(P0)(P1)\or+\\ +\vdots\\ +\verb!\psline[linecolor=red]{->}(P0)(P1)\fi! +\end{array}$$ + +The first example is given with two values of $n_a$ to see how different the color shades are between the two cases. The left vector field in Figure \ref{Fig10} +is made of the calling sequence +\begin{verbatim} +\vecfldnew{\nx=-2.00+0.3}{\ny=-2.00+0.3}{14}{14}{0.3}{(\nx)-2*(\ny)} +{\fy=\ny pt \fx=\nx pt \advance\slope by -2\fy \advance\slope by \fx}{7pt} +\end{verbatim} +\begin{figure}[htbp] +\centering\includegraphics[width=4.6cm]{vecb5} +\hskip1cm\includegraphics[width=4.6cm]{vecb6} +\caption{The vector fields of the equation $y'=x-2y$ with $n_a=\texttt{7pt}$ (the left) and $n_a=\texttt{4pt}$ (the right)}\label{Fig10} +\end{figure} + +In Figure \ref{Fig11}, the vector fields of the equations $y'=y-x$ and $y'=x(2-y)$ are respectively drawn by the calling sequences +\begin{verbatim} +\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{(\ny)-(\nx)} +{\fy=\ny pt \fx=\nx pt \advance\slope by -\fx \advance\slope by \fy}{5pt} +\end{verbatim} +and +\begin{verbatim} +\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{(\nx)*(2-(\ny))} +{\fy=\ny pt \fx=\nx pt \advance\slope by -\decimal\fx\fy +\advance\slope by 2\fx}{6pt} +\end{verbatim} +\begin{figure}[htbp] +\centering\includegraphics[width=6.2cm]{vecb3} +\hskip1cm\includegraphics[width=6.2cm]{vecb4} +\caption{The vector fields of the equation $y'=y-x$ (the left) and $y'=x(2-y)$ (the right).}\label{Fig11} +\end{figure} + +Finally, we consider two more examples on vector fields of differential equations $y'=f(x,y)$ containing trigonometric or rational functions on their right side. The calling sequences +\begin{verbatim} +\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{sin(\nx)*cos(\ny)} +{\SIN{\nx}{\tmpa}\COS{\ny}{\tmpb}\MULTIPLY{\tmpa}{\tmpb}{\tmpc} +\slope=\tmpc pt}{0.6pt} +\end{verbatim} +and +\begin{verbatim} +\vecfldnew{\nx=-3.00+0.3}{\ny=-3.00+0.3}{20}{20}{0.3}{2*(\nx)*(\ny)/(1+(\ny)^2)} +{\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}\Fncty{\ny}{\soly}{\Dsoly} +\DIVIDE{\Dsoly}{\soly}{\tempa}\MULTIPLY{\nx}{\tempa}{\tempb} +\slope=\tempb pt}{2.5pt} +\end{verbatim} +respectively result in the vector fields on the left and on the right in Figure \ref{Fig12}. + +\begin{figure}[htbp] +\centering\includegraphics[width=6.2cm]{vecb1} +\hskip1cm\includegraphics[width=6.2cm]{vecb2} +\caption{The vector fields of the equation $y'=\sin(x)\cos(y)$ (the left) and $y'=2xy/(1+y^2)$ (the right).}\label{Fig12} +\end{figure} +\section{Drawing partitions of a simply connected plane domain} +\subsection{Description} +B\'{e}zier curves have been used in many different aspects, but mostly in computer graphics to model smooth curves designed by computer +programs. We just recall here the vector function of a B\'{e}zier curve of degree $n$ with $n+1$ control points whose position +vectors are $\mathbf{r}_0$, $\mathbf{r}_1$, \dots, $\mathbf{r}_n$. It is the vector function $\mathbf{r}(t)$ in a real variable $t\in[0,1]$ that +is defined as +\begin{equation}\label{eqn9} +\mathbf{r}(t)=\sum_{i=0}^n\binom{n}{i}t^i(1-t)^{n-i}\mathbf{r}_i. +\end{equation} +Since $\mathbf{r}(0)=\mathbf{r}_0$, $\mathbf{r}(1)=\mathbf{r}_n$ and $\mathbf{r}'(0)=n(\mathbf{r}_1-\mathbf{r}_0)$, $\mathbf{r}'(1)=n(\mathbf{r}_n-\mathbf{r}_{n-1})$, +we can take a curve such that it is closed and tangent to a line $(\Delta)$ at the point whose position vector is $\mathbf{r}_0$, by +letting $\mathbf{r}_n=\mathbf{r}_0$ and the points whose position vectors are $\mathbf{r}_0$, $\mathbf{r}_1$ and $\mathbf{r}_{n-1}$ +all be on the line $(\Delta)$. + +Taking a closed B\'{e}zier curve to be the boundary of a plane domain has the great advantage. That is because coordinates of points +on the curve are evaluated by polynomials, and the curve has necessary smoothness, beautiful enough for graphic illustrations. +\texttt{PSTricks} has the procedure \verb!\parametricplot! to draw such a curve. But, an important problem here is how to control +the coordinates of its points to construct a procedure for drawing a partition of a simply connected plane domain and coloring +(or marking) its cells having common points with the boundary of the domain. We particularly need such a procedure for illustrations +of essential notions in measure theory or double integral definition. Because of the limitation in accuracy imposed +by the \TeX\ arithmetic, we should mention about $2$-dimension vector functions of a B\'{e}zier curve of small degree (in fact, as small as possible). +According to the above requirements for the closed boundary of a simply connected domain, we will design a family of closed B\'{e}zier curves of +degree $6$, although we may extend their degree to $12$. + +From the expression of $\mathbf{r}(t)$ in (\ref{eqn9}), we will construct the following functions and procedures: +\begin{itemize} +\item The factorial function \texttt{FACTORIAL}. +\item The binomial function \texttt{BINOMIAL}. +\item Polynomials $t^m(1-t)^n$. +\item A procedure to compute a sum of $7$ terms: values of $\mathbf{r}(t)$ as linear combinations +of the Bernstein polynomials +$$\binom{6}{k}t^k(1-t)^{6-k},\quad k=0,\ldots,6.$$ +\end{itemize} +These functions and procedures are macros given by definitions with or without parameters. In the following subsections we will construct them step by step and +show how to make connections between them. +\subsubsection{Factorial functions and binomial coefficients} +To obtain the factorial function, a procedure for multiplying consecutively an integer $n$ with its diminished values will be constructed. For the declared +integer variables \verb!\Fa! and \verb!\Fct!, the latter will hold values of the function, and the former will hold factors that are multiplied consecutively +and reduced by $1$. Namely, if \verb!\Fa! is $0$ or $1$ then \verb!\Fct! takes $1$; else if $\texttt{\symbol{92}Fa}>1$ then \verb!\Fct! takes +the initial value of \verb!\Fa! to begin a loop: diminishing \verb!\Fa! by $1$ and updating \verb!\Fct! by multiplying its old value with the new value of \verb!\Fa!. +The loop is defined by the control sequence \verb!\Factor! and is ended when \verb!\Fa! is diminished to $1$; then, the factorial function obtains its value from +the one given back after calling \verb!\FACTORIAL! with one parameter. +\begin{verbatim} +\newcount\Fa\newcount\Fct +\newcount\tempA +\def\Factor{\ifnum\Fa=1\relax\else\advance\Fa by -1\multiply\Fct by \Fa\Factor\fi} +\def\FACTORIAL#1{\Fa=#1 \ifnum\Fa=0 \Fct=1\relax\else\Fct=\Fa \Factor\fi% +\global\tempA=\Fct} +\end{verbatim} +Since \TeX\ limits the largest integer number to $2^{30}-1$, we can evaluate only to +$$\textmtt{\symbol{92}FACTORIAL\{$12$\}}=12!=479001600.$$ +Besides, the last value of \verb!\Fct!, which is right the one obtained from calling the function, is assigned to a global integer variable \verb!\tempA! for use +in other procedures. Finally, make the calling sequence +$$\textmtt{\symbol{92}FACTORIAL\{k\}\symbol{92}the\symbol{92}Fct}$$ +to obtain and show up the value of $k!$. From these values we derive binomial coefficients by the formula +$$\binom{m}{n}=\frac{m!}{n!(m-n)!}.$$ +A simple procedure that makes division of $m!$ by $n!$, then of the result by $(m-n)!$ can be performed by the control sequence +\verb!\BINOMIAL! with two parameters as follows +\begin{verbatim} +\newcount\BINOM +\newcount\temp\newcount\tmp +\def\BINOMIAL#1#2{% +\temp=#1\advance\temp by -#2 +\FACTORIAL{#1} +\tmp=\tempA +\FACTORIAL{\temp} +\temp=\tempA +\divide\tmp by \temp +\FACTORIAL{#2} +\temp=\tempA +\divide\tmp by \temp\global\BINOM=\tmp} +\end{verbatim} +Again, the last value of \verb!\tmp! is assigned to a global integer variable \verb!\BINOM! for later use. Because the vector function of a B\'{e}zier +curve of degree $6$ is only needed, so are the binomial coefficients \verb!\BINOMIAL{!$6$\verb!}{!$k$\verb!}!, $k=0,1,\ldots,6$. +\subsubsection{Bernstein polynomials} +The construction of Bernstein functions is based on an iterative multiplication of the same value $t$ by a given number $m$ of times, +then the process is repeated with the value $1-t$ by a given number $n$ of times. The last result is multiplied by a variable that holds +the value of $\binom{m+n}{m}$. We will use an integer variable \verb!\kc! to count times of multiplication for the same factor $t$ or $1-t$. +The procedure of iterative multiplication \verb!\xmult! with one parameter $m$ or $n$ is a recursive one that is performed +iteratively until \verb!\kc! reaches the value $m$ or $n$. +\begin{verbatim} +\newdimen\Xa\newdimen\Yb\newcount\kc +\def\xmult#1{\ifnum\kc<#1\advance\kc by 1\Yb=\decimal\Xa\Yb\xmult{#1} + \else\relax\fi} +\end{verbatim} +Finally, the value of $t^m(1-t)^n$ that is hold by the variable \verb!\Yb! is multiplied by \verb!\BINOM!, the value $\binom{6}{m}$. +Thus, Bernstein polynomials are given by the following macro \verb!\BERNSTEIN! with three parameters that hold values of +$m$, $n$ and $t$, respectively. +\begin{verbatim} +\newdimen\BSTemp +\def\BERNSTEIN#1#2#3{\Xa=#3pt\kc=0\Yb=1pt\xmult{#1}\kc=0\Xa=-\Xa +\advance\Xa by 1pt\xmult{#2}\BINOMIAL{6}{#1}\global\BSTemp=\BINOM\Yb} +\end{verbatim} +Also, values of \verb!\BERNSTEIN! are assigned to a global variable. +\subsubsection{Vector functions of a plane B\'{e}zier curve of degree $6$} +We will construct here the vector function of a plane and closed B\'{e}zier curve with the control points +$M_0(x_0,y_0)$, $M_1(x_1,y_1)$, \dots, $M_6(x_6,y_6)$ that is chosen in such a way that the curve is tangent to +a line $(\Delta)$ at its initial point $M_0$. According to the mentioned properties of a B\'{e}zier curve, the requirements +for the curve are satisfied when $M_6=M_0$ and $M_0$, $M_1$, $M_5$ are all on the line $(\Delta)$. +\begin{figure}[htbp] +\centering\includegraphics[height=4.3cm]{Fig13} +\caption{A B\'{e}zier curve of degree $6$ with the required control points.}\label{Fig13} +\end{figure} +In case $n=6$, from (\ref{eqn9}) we derive the vector function $\mathbf{r}(t)$ with the two components +\begin{equation}\label{eqn10} +X(t)=\sum_{i=0}^6\binom{6}{i}t^i(1-t)^{6-i}x_i,\quad Y(t)=\sum_{i=0}^6\binom{6}{i}t^i(1-t)^{6-i}y_i. +\end{equation} +We first evaluate values of $X(t)$ by the procedures that just have been constructed, with a choice of $x_i$, $i=1,\ldots,6$, from a given $x_0$ +and the requirements of the B\'{e}zier curve as in Figure \ref{Fig13}. For example, we may take +$$x_1=x_0-1.5,\quad x_2=x_0+2,\quad x_3=x_0+6,\quad x_4=x_0+5,\quad x_5=x_0+1.5,\quad x_6=x_0.$$ +Moreover, we may change the shape of the curve by taking a factor $\alpha$ for $X(t)$. In short, we will make a procedure to evaluate the sum of terms +$\binom{6}{i}t^i(1-t)^{6-i}(\alpha x_i)$, $i=0,1,\ldots,6$. In fact, it is a procedure to add up values into a global variable \verb!\XBST! that is called +by a macro \verb!\XBC! with three declaring parameters for $x_i$, $t$ and $\alpha$. The value of $\alpha$ is used last when being multiplied by a +variable that holds $X(t)$. Such a procedure is suggested to be the following macro +\begin{verbatim} +\newdimen\Xrf\newdimen\Yrf +\newdimen\XBST\newdimen\YBST +\def\XBC#1#2#3{% +\BERNSTEIN{0}{6}{#2} +\Xrf=#1pt +\XBST=\decimal\BSTemp\Xrf +\BERNSTEIN{1}{5}{#2} +\Xrf=#1pt\advance\Xrf by -1.5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{2}{4}{#2} +\Xrf=#1pt\advance\Xrf by 2pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{3}{3}{#2} +\Xrf=#1pt\advance\Xrf by 6pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{4}{2}{#2} +\Xrf=#1pt\advance\Xrf by 5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{5}{1}{#2} +\Xrf=#1pt\advance\Xrf by 1.5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{6}{0}{#2} +\Xrf=#1pt +\advance\XBST by \decimal\BSTemp\Xrf +\global\XBST=#3\XBST} +\end{verbatim} +In the macro, a control sequence of the form \verb!\decimal\Xdim! is for obtaining the decimal value of a variable \verb!\Xdim! without units +(\verb!pt!, by default). This can be defined by +\begin{verbatim} +\def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} +\xch \def\dec#1pt{#1}\ych \gdef\decimal#1{\expandafter\dec \the#1} +\end{verbatim} +Besides, the last line in the definition of \verb!\XBC! (\verb!\global\XBST=#3\XBST!) signifies \verb!\XBST! is adjusted for multiplication by +$\alpha$ when holding the current value of the sum $X(t)$. In Table \ref{bc-Table1}, some values +of \verb!\XBC! are compared with those of a simpler procedure in Maple\footnote{\footnotesize Maple +is a computer algebra system. It was first developed in 1980 by the Symbolic Computation Group at the University of +Waterloo in Waterloo, Ontario, Canada. Maple supports numeric and symbolic computations +and can be used as a programming language, which resembles Pascal.}. +\begin{table}[htbp] +\centering\begin{tabular}{|c|c|c|c|c|c|}\hline +&$(-2.4,0.23,1.5)$&$(4.2,0.45,1.1)$&$(-3.4,0.7,1.24)$&$(-0.89,0.4,1.5)$&$(5.21,0.5,2.15)$\\ \hline +\texttt{\symbol{92}XBC}&$\XBC{-2.4}{0.23}{1.5}\decimal\XBST$&$\XBC{4.2}{0.45}{1.1}\decimal\XBST$&$\XBC{-3.4}{0.7}{1.24}\decimal\XBST$&$\XBC{-0.89}{0.4}{1.5}\decimal\XBST$&$\XBC{5.21}{0.5}{2.15}\decimal\XBST$\\ \hline +Maple&$-2.41044$&$8.13235$&$-0.13696$&$2.78628$&$18.76008$\\ \hline +\end{tabular} +\caption{A comparison between some values of \textmtt{\symbol{92}XBC} and those of a procedure in Maple.}\label{bc-Table1} +\end{table} + +Likewise, from a given $y_0$, we may have a choice of $y_i$, $i=1,\ldots,6$, as follows +$$y_1=y_0+2,\quad y_2=y_0+5,\quad y_3=y_0+3,\quad y_4=y_0-1,\quad y_5=y_0-2,\quad y_6=y_0.$$ +The macro \verb!\YBC! is constructed in a quite analogous way as for \verb!\XBC! to evaluate values of $Y(t)$ in (\ref{eqn10}), +and the value $\beta Y(t)$ ($\beta$ is again an adjustment factor) is hold by a global variable \verb!\YBST!. + +\subsubsection{Partition of a simply connected plane domain by a rectangular grid} + +We consider here a simply connected plane domain $D$ surrounded by a B\'{e}zier curve of degree $6$ that will be depicted by +the procedure \verb!\NetDraw!. This is called together with its five parameters whose values are assigned to the five local variables +with their following meaning: +\begin{align*} +\texttt{\symbol{92}CellNum:}&\text{ The number of horizontal and vertical cells of the grid.}\\ +\texttt{\symbol{92}Xref:}&\text{ The value of $x_0$.}\\ +\texttt{\symbol{92}Yref:}&\text{ The value of $y_0$.}\\ +\texttt{\symbol{92}Xfact:}&\text{ The value of $\alpha$.}\\ +\texttt{\symbol{92}Yfact:}&\text{ The value of $\beta$.} +\end{align*} +We denote by $R$ a rectangular domain containing $D$ and having edges parallel to the coordinate axes. +A grid of rectangular cells will be depicted on $R$. According to the given values of $x_0$, $y_0$, $\alpha$ and $\beta$, the vertices of $R$ +can be chosen as the points $(\verb!\XMin!,\verb!\YMax!)$, $(\verb!\XMax!,\verb!\YMax!)$, $(\verb!\XMax!,\verb!\YMin!)$, $(\verb!\XMin!,\verb!\YMin!)$, where +\begin{align*} +\textmtt{\symbol{92}XMin}&=\alpha(\textmtt{\symbol{92}Xref}-1.5),&&\textmtt{\symbol{92}XMax}=\alpha(\textmtt{\symbol{92}Xref}+6),\\ +\textmtt{\symbol{92}YMin}&=\beta(\textmtt{\symbol{92}Yref}-2),&&\textmtt{\symbol{92}YMax}=\beta(\texttt{\symbol{92}Yref}+5). +\end{align*} +Then, the horizontal step size \verb!\Xsize! and the vertical step +size \verb!\Ysize! may be taken as +$$\mtt\\\texttt{Xsize}=\frac{\mtt\\\texttt{XMax}-\mtt\\\texttt{XMin}}{\mtt\\\texttt{CellNum}},\quad +\mtt\\\texttt{Ysize}=\frac{\mtt\\\texttt{YMax}-\mtt\\\texttt{YMin}}{\mtt\\\texttt{CellNum}}.$$ + +At first, the grid is made by using the structure \verb!\multido! to draw vertical and horizontal lines whose equations are +$$x=\texttt{\symbol{92}XMin}+i\texttt{\symbol{92}Xsize},\quad +y=\texttt{\symbol{92}YMin}+i\texttt{\symbol{92}Ysize},\quad i=0,\ldots,\texttt{\symbol{92}CellNum}.$$ +Next, the B\'{e}zier curve is depicted by the command +$$\textmtt{\symbol{92}parametricplot[algebraic,fillstyle=solid]\{$0$\}\{$1$\}\{$\alpha X(t)$|$\beta Y(t)$\}}$$ +and it is approximated by the sequence of points $(X_i,Y_i)$, $i=1,\ldots,N$, where $X_i$ and $Y_i$ are given from +the calling sequences +$$\textmtt{\symbol{92}XBC\{\symbol{92}XRef\}\{$t_i$\}\{\symbol{92}Xfact\}},\quad +\textmtt{\symbol{92}YBC\{\symbol{92}YRef\}\{$t_i$\}\{\symbol{92}Yfact\}}.$$ + +Finally, the most important algorithm is to determine cells that have points in common with the B\'{e}zier curve, +and to color them. The chosen ``filter'' method here can be described as follows: for each point $(X_i,Y_i)$ of the approximate sequence, +$i=1,\ldots, N$, we examine cells from left to right in horizontal direction, and from below to above in vertical direction. As soon as +being found, the cell containing $(X_i,Y_i)$ is specifically colored by the command \textmtt{\mtt\\pspolygon[fillstyle=solid,$\ldots$]} passing its four +vertices; then, we examine the next point $(X_{i+1},Y_{i+1})$, and so on. Actually, a structure of three nested \verb!\multido! loops +is used to perform this filter method, and the loop for counting points $(X_i,Y_i)$ is the most outer one. The algorithm to examine if +a cell contains $(X_i,Y_i)$ may have the form of +\begin{verbatim} + \ifdim\YBSTy\relax\else + \ifdim\XBSTx\relax\else + \pspolygon[fillstyle=solid,fillcolor=red] + (x,y)(x+\Xsize,y)(x+\Xsize,y+\Ysize)(x,y+\Ysize)(x,y)\relax + \fi\fi\fi\fi +\end{verbatim} +The single characters ``\verb!x!'', ``\verb!y!'' and the opertation ``\verb!+!'' will be replaced appropriately in the procedure \verb!\NetDraw! below. +For increasingly chosen values of $N$, we may know if the set of cells having points in common with the curve can cover the curve itself? +On the other hand, to increase the number of approximate points is corresponding to reduce the increment in the most outer loop \verb!\multido!. +For instance, if we take $N=100$, then the variable \verb!\nz! in the loop should be declared as $\texttt{\mtt\\nz}=0.00+0.01$ because +$t_i\in[0,1]$. + +In summary, to illustrate a partition of a simply connected plane domain, we can apply the following procedure \verb!\NetDraw!. As mentioned above, +step by step, \verb!\NetDraw! can: draw the boundary of a plane domain $D$ by a B\'{e}zier curve of degree $6$, draw a partition of a rectangle $R$ containing $D$ +by a grid of rectangular cells, and color cells having points in common with the boundary of $D$. +\bigskip +%\vskip2ex +\hrule +\begin{verbatim} +\def\NetDraw#1#2#3#4#5{% +\newcount\CellNum +\newdimen\XRef +\newdimen\YRef +\newdimen\Xfact +\newdimen\Yfact +\newdimen\XMin +\newdimen\XMax +\newdimen\YMin +\newdimen\YMax +\newdimen\Xsize +\newdimen\Ysize +\newdimen\tempx +\newdimen\tempy +\CellNum=#1 +\XRef=#2pt +\YRef=#3pt +\Xfact=#4pt +\Yfact=#5pt +\XMin=\decimal\Xfact\XRef \advance\XMin by -1.50\Xfact +\XMax=\decimal\Xfact\XRef \advance\XMax by 6.00\Xfact +\YMin=\decimal\Yfact\YRef \advance\YMin by -2.00\Yfact +\YMax=\decimal\Yfact\YRef \advance\YMax by 5.00\Yfact +\Xsize=\XMax \advance\Xsize by -\XMin \divide\Xsize by \CellNum +\Ysize=\YMax \advance\Ysize by -\YMin \divide\Ysize by \CellNum +\parametricplot[algebraic,fillstyle=solid,fillcolor=yellow!80,plotpoints=200, +linewidth=0.5pt]{0}{1}{\XBsix{\decimal\XRef}{\decimal\Xfact}| +\YBsix{\decimal\YRef}{\decimal\Yfact}} +\multido{\nz=0.00+0.005}{200}{\XBC{\decimal\XRef}{\nz}{\decimal\Xfact} +\YBC{\decimal\YRef}{\nz}{\decimal\Yfact} +\multido{\nx=\decimal\XMin+\decimal\Xsize}{\the\CellNum} +{\tempx=\nx pt\multido{\ny=\decimal\YMin+\decimal\Ysize}{\the\CellNum} +{\tempy=\ny pt\ifdim\YBST<\tempy\relax\else\advance\tempy by \Ysize% + \ifdim\YBST>\tempy\relax\else + \ifdim\XBST<\tempx\relax\else\advance\tempx by \Xsize + \ifdim\XBST>\tempx\relax\else + \pspolygon[fillstyle=solid,fillcolor=blue!90,linecolor=black, + linewidth=0.2pt] + (\nx,\ny)(\decimal\tempx,\ny)(\decimal\tempx,\decimal\tempy) + (\nx,\decimal\tempy)(\nx,\ny)\relax\fi\fi\fi\fi} +}} +\advance\CellNum by 1 +\multido{\nx=\decimal\XMin+\decimal\Xsize}{\the\CellNum} +{\psline[linewidth=0.2pt](\nx,\decimal\YMax)(\nx,\decimal\YMin)} +\multido{\ny=\decimal\YMin+\decimal\Ysize}{\the\CellNum} +{\psline[linewidth=0.2pt](\decimal\XMin,\ny)(\decimal\XMax,\ny)} +\parametricplot[algebraic,linecolor=white,plotpoints=200,linewidth=0.5pt]{0}{1} +{\XBsix{\decimal\XRef}{\decimal\Xfact}|\YBsix{\decimal\YRef}{\decimal\Yfact}}} +\end{verbatim}\hrule\bigskip + +In the definition of \verb!\NetDraw!, the expressions $\alpha X(t)$, $\beta Y(t)$ are declared in the \verb!algebraic! form by the macros \verb!\XBsix!, +\verb!\YBsix! with two parameters that hold values of $x_0,\alpha$ and $y_0,\beta$, respectively. These macros are given by +the following definitions: +\begin{verbatim} +\def\XBsix#1#2{% +(1-t)^6*(#1)*(#2)+6*t*(1-t)^5*(#1-1.5)*(#2)+15*t^2*(1-t)^4*(#1+2)*(#2)+ +20*t^3*(1-t)^3*(#1+6)*(#2)+15*t^4*(1-t)^2*(#1+5)*(#2)+ +6*t^5*(1-t)*(#1+1.5)*(#2)+t^6*(#1)*(#2)} +\def\YBsix#1#2{% +(1-t)^6*(#1)*(#2)+6*t*(1-t)^5*(#1+2)*(#2)+15*t^2*(1-t)^4*(#1+5)*(#2)+ +20*t^3*(1-t)^3*(#1+3)*(#2)+15*t^4*(1-t)^2*(#1-1)*(#2)+ +6*t^5*(1-t)*(#1-2)*(#2)+t^6*(#1)*(#2)} +\end{verbatim} +\subsection{Examples} +Firstly, let us see the effect of change for the shape of a domain when adjusting its boundary by taking different values of $\alpha$ and $\beta$. The +calling sequence for this purpose may have the form of +\begin{align*} +&\textmtt{\mtt\\parametricplot[algebraic,plotpoints=200,linewidth=0.5pt]\{$0$\}\{$1$\}}\\ +&\textmtt{\mtt\{XBsix\{$x_0$\}\{$\alpha$\}|\mtt\\YBsix\{$y_0$\}\{$\beta$\}\mtt\}} +\end{align*} +and its result is given in Figure \ref{Fig14}. +\begin{figure}[htbp] +\centering\includegraphics[height=3cm]{Fig14} +\caption{From left to right, corresponding to the couple of values: +$\alpha=2,\,\beta=2$; $\alpha=2.5,\,\beta=2$; $\alpha=2,\,\beta=2.5$.}\label{Fig14} +\end{figure} + +The Table \ref{bc-table2} below provides three partitions of a domain $D$ with cells that decrease in size. In each case, \verb!\NetDraw! can +determine the cells that have points in common with the boundary curve and color them. The calling sequence here +takes a simple form +$$\textmtt{\mtt\\NetDraw\{$c$\}\{$x_0$\}\{$y_0$\}\{$\alpha$\}\{$\beta$\}}$$ +The numerical argument $c$ is assigned to the local variable \verb!\CellNum!. The number of approximate points $(X_i,Y_i)$ for the boundary curve +is chosen to be $200$, by default, corresponding to the increment $\Delta\mtt{z}=0.005$. The number $N$ can be made larger and the filter procedure +for determining required cells may be more exact. In Table \ref{bc-table2}, the B\'{e}zier curves are depicted with the choice +$x_0=y_0=\alpha=\beta=2$. +\begin{table}[htbp] +\centering\begin{tabular}{cc} +\includegraphics[width=6cm]{b6of1}&\includegraphics[width=6cm]{b6of2}\\ +\includegraphics[width=6cm]{b6of3}&\includegraphics[width=6cm]{b6of4} +\end{tabular} +\caption{The partitions of $D$ with $c=18$, $c=36$ and $c=63$.}\label{bc-table2} +\end{table} + +\acknw +I am very grateful to +\begin{itemize} +\item Timothy Van Zandt, Herbert Vo\ss, Dominique Rodriguez and Michael Sharpe for helping me with +their great works on \texttt{PSTricks}. +\item H\`an Th\hantt\rlap\accentcircflx\ Th\`anh for helping me with his pdf\hskip.03em\LaTeX\ program. +\item Robert Fuster for his very useful package \texttt{calculator}. +\end{itemize} +\begin{thebibliography}{10} +\bibitem{one} Dominique Rodriguez, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pstricks-add}: Additional Macros for PSTricks\/}. +Version 3.60, +\url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 +\bibitem{two} Timothy Van Zandt, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pst-node}: Nodes and node connections}. +Version 1.29, +\url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 +\bibitem{three} Helmut Kopka \&\ Patrick W. Daly. \textsl{Guide to \LaTeX \/}. +Addison-Wesley, Fourth Edition, 2004, ISBN 0321173856 +\bibitem{four} Timothy Van Zandt. \textsl{User's Guide\/}. Version 1.5,\\ +\url{http://ctan.org/tex-archive/graphics/pstricks/base}, 2007 +\bibitem{five}Eitan M. Gurari. \textsl{Writing With \TeX \/}, McGraw-Hill, Inc., 1994, ISBN 0-07-025207-6 +\bibitem{six} Robert Fuster. \textsl{\texttt{calculator-calculus}: Scientific Calculations With \LaTeX \/}. Version 1.0a, +\url{http://ctan.org/tex-archive/macros/latex/contrib/calculator}, 2012 +\end{thebibliography} + +\end{document} +\begin{thebibliography}{10} +\bibitem{one} Dominique Rodriguez, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pstricks-add}: Additional Macros for PSTricks\/}. +Version 3.60, +\url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 +\bibitem{two} Timothy Van Zandt, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pst-node}: Nodes and node connections}. +Version 1.29, +\url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 +\bibitem{three} Helmut Kopka \&\ Patrick W. Daly. \textsl{Guide to \LaTeX \/}. +Addison-Wesley, Fourth Edition, 2004, ISBN 0321173856 +\bibitem{four} Timothy Van Zandt. \textsl{User's Guide\/}. Version 1.5,\\ +\url{http://ctan.org/tex-archive/graphics/pstricks/base}, 2007 +\bibitem{five}Eitan M. Gurari. \textsl{Writing With \TeX \/}, McGraw-Hill, Inc., 1994, ISBN 0-07-025207-6 +\bibitem{six} Robert Fuster. \textsl{\texttt{calculator-calculus}: Scientific Calculations With \LaTeX \/}. Version 1.0a, +\url{http://ctan.org/tex-archive/macros/latex/contrib/calculator}, 2012 +\end{thebibliography} diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of1.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of1.pdf new file mode 100644 index 00000000000..dd72352f521 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of1.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of2.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of2.pdf new file mode 100644 index 00000000000..58957eb2916 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of2.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of3.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of3.pdf new file mode 100644 index 00000000000..2358b9887bd Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of3.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of4.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of4.pdf new file mode 100644 index 00000000000..986c6f42794 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/b6of4.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec1.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec1.pdf deleted file mode 100644 index c305ce04853..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec1.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec2.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec2.pdf deleted file mode 100644 index 634f25d5203..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec2.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec3.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec3.pdf deleted file mode 100644 index b94a3b56924..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec3.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec4.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec4.pdf deleted file mode 100644 index f27e258918e..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec4.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec5.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec5.pdf deleted file mode 100644 index ed3a31fa1a4..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec5.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec6.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec6.pdf deleted file mode 100644 index 32cb089959c..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vec6.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb1.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb1.pdf new file mode 100644 index 00000000000..e7e593cd4ce Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb1.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb2.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb2.pdf new file mode 100644 index 00000000000..383de63aeec Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb2.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb3.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb3.pdf new file mode 100644 index 00000000000..5909485e59d Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb3.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb4.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb4.pdf new file mode 100644 index 00000000000..e0d120903de Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb4.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb5.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb5.pdf new file mode 100644 index 00000000000..d4cf2d2e602 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb5.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb6.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb6.pdf new file mode 100644 index 00000000000..31ea95365c6 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Pdf_Output/vecb6.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/NewVecFld_PS.tex b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/NewVecFld_PS.tex deleted file mode 100644 index ae1b6eb6f59..00000000000 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/NewVecFld_PS.tex +++ /dev/null @@ -1,675 +0,0 @@ -\documentclass[11pt,a4paper,oneside]{article} -\usepackage{calculator} -\usepackage{calculus} -\usepackage{amsthm} -\usepackage{amsmath} -\usepackage[dvips]{geometry} -\usepackage{pstricks} -\usepackage{graphicx} -\usepackage{graphics} -\usepackage{pst-plot} -\usepackage{pst-node} -\usepackage{multido} -\usepackage{pst-xkey} -\usepackage{pst-func} -\usepackage{pstricks-add} -\usepackage[dvips,colorlinks,linktocpage]{hyperref} -\def\hantt{\^e}\def\accentcircflx{\hskip-.3em\raisebox{0.32ex}{\'{}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\RiemannSum#1#2#3#4#5#6#7#8#9{% -\psplot[linecolor=blue]{#1}{#2}{#3} -\pscustom[linecolor=red]{% -\psline{-}(#1,0)(#1,0) -\multido{\ni=#5,\ne=#6}{#4} -{\psline(*{\ni} {#8})(*{\ne} {#9})}} -\multido{\ne=#6,\nc=#7}{#4} -{\psdot(*{\nc} {#3}) -\psline[linestyle=dotted,dotsep=1.5pt](\nc,0)(*{\nc} {#3}) -\psline[linecolor=red](\ne,0)(*{\ne} {#9})} -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\vecfld#1#2#3#4#5#6{% -\multido{#2}{#4} -{\multido{#1}{#3} -{\parametricplot[algebraic,arrows=->,linecolor=red]{0}{1} -{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} -\xch \def\dec#1pt{#1}\ych \def\decimal#1{\expandafter\dec \the#1} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\vecfldnew#1#2#3#4#5#6#7#8{% -\newcount\intg \newdimen\fx \newdimen\fy \newdimen\slope \newdimen\interm -\def\fintg{\interm=#8 \interm=\intg\interm \ifdim\ifdim\slope<0pt-\fi\slope>\interm\advance\intg by 1\fintg\fi} -\multido{#2}{#4} -{\multido{#1}{#3} -{\curvepnodes[algebraic,plotpoints=2]{0}{1}{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P} -#7 \slope=10\slope\fintg -\ifnum\intg>10\psline[linecolor=red]{->}(P0)(P1)\else\ifnum\intg=0\psline[linecolor=red!5]{->}(P0)(P1)\else\multiply\intg by 10 -\psline[linecolor=red!\the\intg]{->}(P0)(P1)\fi\fi -\intg=0\slope=0pt -}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\pagestyle{headings} -\topmargin=-0.6cm -\textwidth=16.7cm -\textheight=23cm -\headheight=2.5ex -\headsep=0.6cm -\oddsidemargin=.cm -\evensidemargin=-.4cm -\parskip=0.7ex plus0.5ex minus 0.5ex -\baselineskip=17pt plus2pt minus2pt -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\catcode`@=11 -\renewcommand\section{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\normalfont\large\bfseries}} -\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\normalfont\normalsize\bfseries}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\gdef\acknw{\section*{% -{\acknwname}\markright{\protect\textsl{\acknwname}}}% -\addcontentsline{toc}{section}{\acknwname}} -\gdef\acknwname{Acknowledgment} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\renewcommand\sectionmark[1]{\markright{\thesection. #1}} -\newcounter{lk} -\newenvironment{listof}{\begin{list}{\rm(\roman{lk})}{\usecounter{lk}% -\setlength{\topsep}{0ex plus0.1ex}% -\setlength{\labelwidth}{1cm}% -\setlength{\itemsep}{0ex plus0.1ex}% -\setlength{\itemindent}{0.5cm}% -}}{\end{list}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\title{Two applications of macros in \texttt{PSTricks}\thanks{PSTricks is the original work of Timothy Van Zandt (email address: \texttt{tvz@econ.insead.fr}). -It is currently edited by Herbert Vo\ss\ (\texttt{hvoss@tug.org}).}\\ -{\Large\&} \\ -How to color arrows properly for a vector field} -\author{Le Phuong Quan\\ -\small{(Cantho University, Vietnam)}\\ -\small{\texttt{lpquan@ctu.edu.vn}}} -\begin{document} -\maketitle -\tableofcontents -\section{Drawing approximations to the area under a graph by rectangles} -\subsection{Description} - -We recall here an application in Calculus. Let $f(x)$ be a function, defined and bounded on -the interval $[a,b]$. If $f$ is integrable (in Riemann sense) on $[a,b]$, then its definite integral over this interval -is -$$\int_a^bf(x)dx=\lim_{\|P\|\to 0}\sum_{i=1}^nf(\xi_i)\Delta x_i,$$ -where $P\colon a=x_0}(0,0)(-2.5,-10)(3.5,15.5) -\psplot[plotpoints=500,algebraic,linecolor=red]{-2}{3}{x^3-2*x^2+6} -\pscustom{ -\psline{-}(-2,0)(-2,0) -\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} -{\psplot[algebraic]{\nx}{\ni}{(\ny)^3-2*(\ny)^2+6}} -\psline{-}(3,0)} -\end{pspicture} -\hskip3em -\begin{pspicture}(-2,-2)(3,3.5) -\psset{yunit=0.2} -\psaxes[labelFontSize=$\footnotesize$,Dy=2,ticksize=2.2pt,labelsep=4pt]{->}(0,0)(-2.5,-10)(3.5,15.5) -\psplot[plotpoints=500,algebraic,linecolor=red]{-2}{3}{x^3-2*x^2+6} -\pscustom{ -\psline{-}(-2,0)(-2,0) -\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} -{\psplot[algebraic]{\nx}{\ni}{(\ny)^3-2*(\ny)^2+6}} -\psline{-}(3,0)} -\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} -{\psline[linestyle=dotted,dotsep=1.5pt,dotstyle=o,linecolor=gray](\ny,0)(*{\ny} {x^3-2*x^2+6}) -\psdot[dotsize=1.2pt 1,dotstyle=Bo](*{\ny} {x^3-2*x^2+6})} -\end{pspicture}\\[3ex] -\centering\begin{pspicture}(-2,-2)(3,3) -\psset{yunit=0.2} -\psaxes[labelFontSize=$\footnotesize$,Dy=2,ticksize=2.2pt,labelsep=4pt]{->}(0,0)(-2.5,-10)(3.5,15.5) -\psplot[plotpoints=500,algebraic,linecolor=red]{-2}{3}{x^3-2*x^2+6} -\pscustom{ -\psline{-}(-2,0)(-2,0) -\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} -{\psplot[algebraic]{\nx}{\ni}{(\ny)^3-2*(\ny)^2+6}} -\psline{-}(3,0)} -\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} -{\psline[linestyle=dotted,dotsep=1.5pt,dotstyle=o,linecolor=gray](\ny,0)(*{\ny} {x^3-2*x^2+6}) -\psdot[dotsize=1.2pt 1,dotstyle=Bo](*{\ny} {x^3-2*x^2+6})} -\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{9} -{\psline(\ni,0)(*{\ni} {(x-0.25)^3-2*(x-0.25)^2+6})} -\end{pspicture} -\caption{Steps to make the drawing procedure.}\label{Fig1} -\end{figure} - -We can combine the above steps to make a procedure whose calling sequence consists of main parameters -$a$, $b$, $f$ and $n$, and dependent parameters $x_{i-1}$, $x_i$, $\xi_i$, $f(\xi_i)$ and -$f(x\pm\Delta x_i/2)$. For instant, let us consider the approximations to the integral of $f(x)=\sin x-\cos x$ -over $[-2,3]$ in the cases of $n=5$ and $n=20$. Those approximations are given in Figure \ref{Fig2}. - -\begin{figure}[htbp] -\centering\begin{pspicture}(-2.5,-3)(3.5,3.01) -\psset{plotpoints=500,algebraic,dotsize=1pt 2,yunit=2} -\psaxes[labelFontSize=$\footnotesize$,Dy=1]{->}(0,0)(-2.5,-1.5)(3.5,1.5) -\RiemannSum{-2}{3}{sin(x)-cos(x)}{5} -{-2.0+1.0}{-1.0+1.0}{-1.5+1.0} -{sin(x+0.5)-cos(x+0.5)}{sin(x-0.5)-cos(x-0.5)} -\end{pspicture} -\hskip4em -\begin{pspicture}(-2.5,-3)(3.5,3.01) -\psset{plotpoints=500,algebraic,dotsize=1pt 2,yunit=2} -\psaxes[labelFontSize=$\footnotesize$,Dy=1]{->}(0,0)(-2.5,-1.5)(3.5,1.5) -\RiemannSum{-2}{3}{sin(x)-cos(x)}{20} -{-2.000+0.250}{-1.750+0.250}{-1.875+0.250} -{sin(x+0.125)-cos(x+0.125)}{sin(x-0.125)-cos(x-0.125)} -\end{pspicture} -\caption{Approximations to the integral of $f(x)=\sin x-\cos x$ over $[-2,3]$.}\label{Fig2} -\end{figure} - -In fact, we can make a procedure to illustrate the approximation (\ref{eqn1}), say \texttt{RiemannSum}, whose calling sequence has the form -$$\texttt{\symbol{92}RiemannSum\{$a$\}\{$b$\}\{$f(x)$\}\{$n$\}\{$x_{\rm ini}$\}\{$x_{\rm end}$\}\{$x_{\rm choice}$\}\{$f(x+\Delta x_i/2)$\}\{$f(x-\Delta x_i/2)$\}},$$ -where $x_0=a$ and for each $i=1,2\ldots,n$: -\begin{align*} -x_i&=a+\dfrac{b-a}{n}i,\quad\Delta x_i=x_i-x_{i-1}=\dfrac{b-a}{n},\\ -x_{\rm ini}&=x_0+\Delta x_i,\quad x_{\rm end}=x_1+\Delta x_i,\quad x_{\rm choice}=\dfrac{x_{\rm ini}+x_{\rm end}}{2}=\dfrac{x_0+x_1}{2}+\Delta x_i. -\end{align*} -Note that $x_{\rm ini}$, $x_{\rm end}$ and $x_{\rm choice}$ are given in such forms to be -suitable to variable declaration in \texttt{\symbol{92}multido}. They are nothing but -$x_{i-1}$, $x_i$ and $\xi_i$, respectively, at the step $i$-th in the loop. - -Tentatively, in \texttt{PSTricks} language, the definition of \texttt{RiemannSum} is suggested to be -\bigskip\hrule -\noindent\begin{tabular}{@{}l} -\verb!\def\RiemannSum#1#2#3#4#5#6#7#8#9{%!\\ -\verb!\psplot[linecolor=blue]{#1}{#2}{#3}!\\ -\verb!\pscustom[linecolor=red]{%!\\ -\verb!\psline{-}(#1,0)(#1,0)!\\ -\verb!\multido{\ni=#5,\ne=#6}{#4}!\\ -\verb!{\psline(*{\ni} {#8})(*{\ne} {#9})}}!\\ -\verb!\multido{\ne=#6,\nc=#7}{#4}!\\ -\verb!{\psdot(*{\nc} {#3})!\\ -\verb!\psline[linestyle=dotted,dotsep=1.5pt](\nc,0)(*{\nc} {#3})!\\ -\verb!\psline[linecolor=red](\ne,0)(*{\ne} {#9})}}! -\end{tabular}\bigskip\hrule -\subsection{Examples} -We give here two more examples just to see that using the drawing procedure is very easy. In the first example, we approximate -the area under the graph of the function $f(x)=x-(x/2)\cos x+2$ on the interval $[0,8]$. To draw the approximation, we try -the case $n=16$; thus $x_0=0$ and for each $i=1,\ldots,16$, we have -$x_i=0.5\,i$, $\Delta x_i=0.5$, $x_{\rm ini}=0.00+0.50$, $x_{\rm end}=0.50+0.50$ and $x_{\rm choice}=0.25+0.50$. -\begin{figure}[htbp] -\centering\begin{pspicture}(0,0)(5.1,6.6) -\psset{plotpoints=500,algebraic,dotsize=1pt 2,unit=0.6} -\RiemannSum{0}{8}{x-(x/2)*cos(x)+2}{16}{0.00+0.50}{0.50+0.50}{0.25+0.50} -{x+0.25-((x+0.25)/2)*cos(x+0.25)+2}{x-0.25-((x-0.25)/2)*cos(x-0.25)+2} -\psaxes[labelFontSize=$\footnotesize$,Dy=1,ticksize=2.2pt,labelsep=4pt]{->}(0,0)(8.5,11) -\end{pspicture} -\vskip0.5ex -\caption{An approximation to the area under the graph of $f(x)=x-(x/2)\cos x+2$ on $[0,8]$.}\label{Fig3} -\end{figure} - -To get Figure \ref{Fig3}, we have used the following \LaTeX\ code: -\bigskip\hrule -\noindent\begin{tabular}{@{}l} -\verb!\begin{pspicture}(0,0)(4.125,5.5)!\\ -\verb!\psset{plotpoints=500,algebraic,dotsize=2.5pt,unit=0.5}!\\ -\verb!\RiemannSum{0}{8}{x-(x/2)*cos(x)+2}{16}{0.00+0.50}{0.50+0.50}{0.25+0.50}!\\ -\verb!{x+0.25-((x+0.25)/2)*cos(x+0.25)+2}{x-0.25-((x-0.25)/2)*cos(x-0.25)+2}!\\ -\verb!\psaxes[ticksize=2.2pt,labelsep=4pt]{->}(0,0)(8.5,11)!\\ -\verb!\end{pspicture}! -\end{tabular} -\smallskip\hrule\bigskip - -In the second example below, we will draw an approximation to the integral of $f(x)=x\sin x$ over $[1,9]$. -Choosing $n=10$ and computing parameters needed, we get Figure \ref{Fig4}, mainly by -the command -\begin{align*} -&\texttt{\symbol{92}RiemannSum\{$1$\}\{$9$\}\{$x\sin x$\}\{$10$\}\{$1.00+0.80$\}\{$1.80+0.80$\}\{$1.40+0.80$\}}\\ -&\texttt{\{$(x+0.4)\sin(x+0.4)$\}\{$(x-0.4)\sin(x-0.4)$\}} -\end{align*} -in the drawing procedure. -\begin{figure}[htbp] -\centering\begin{pspicture}(0,-2.5)(4.75,4.25) -\psset{plotpoints=500,algebraic,dotsize=1pt 2,unit=0.5} -\RiemannSum{1}{9}{x*sin(x)}{10}% -{1.00+0.80}{1.80+0.80}{1.40+0.80}% -{(x+0.4)*sin(x+0.4)}{(x-0.4)*sin(x-0.4)} -\psaxes[labelFontSize=$\footnotesize$,Dy=1,ticksize=2.2pt,labelsep=4pt]{->}(0,0)(0,-5)(9.5,8.5) -\end{pspicture} -\caption{An approximation to the integral of $f(x)=x\sin x$ over $[1,9]$.}\label{Fig4} -\end{figure} -\section{Drawing the vector field of an ordinary differential equation of order one} -\subsection{Description}\label{sect1} - -Let us consider the differential equation -\begin{equation}\label{eqn2} -\frac{dy}{dx}=f(x,y). -\end{equation} -At each point $(x_0,y_0)$ in the domain $D$ of $f$, we will put a vector $\mathbf{v}$ with slope -$k=f(x_0,y_0)$. If $y(x_0)=y_0$, then $k$ is the slope of the tangent to the solution curve $y=y(x)$ -of (\ref{eqn2}) at $(x_0,y_0)$. The $\mathbf{v}$'s make a \textsl{vector field\/} and the picture -of this field would give us information about the shape of solution curves of (\ref{eqn2}), even -we have not found yet any solution of (\ref{eqn2}). - -The vector field of (\ref{eqn2}) will be depicted on a finite grid of points in $D$. This grid is made of -lines, paralell to the axes $Ox$ and $Oy$. The intersectional points of those lines are called \textsl{grid points\/} -and often indexed by $(x_i,y_j)$, $i=0,\ldots,N_x$, $j=0,\ldots,N_y$. For convenience, we will use -polar coordinate to locate the terminal point $(x,y)$ of a field vector, with the initial point at -the grid point $(x_i,y_j)$. Then, we can write -\begin{align*} -x&=x_i+r\cos\varphi,\\ -y&=y_j+r\sin\varphi. -\end{align*} -Because $k=f(x_i,y_j)=\tan\varphi$ is finite, we may take $-\pi/2<\varphi<\pi/2$. -From $\sin^2\varphi+\cos^2\varphi=1$ and $\sin\varphi=k\cos\varphi$, we derive -$$\cos\varphi=\frac{1}{\sqrt{1+k^2}},\quad\sin\varphi=\frac{k}{\sqrt{1+k^2}}.$$ -\begin{figure}[htbp] -\centering\begin{pspicture}(0,0)(5,5) -\psset{unit=2} -\psaxes[labelFontSize=$\footnotesize$,Dx=0.5,Dy=0.5,labels=none,ticksize=2pt,labelsep=2pt,linewidth=0.5pt] -{->}(0,0)(2.5,2.5) -\psdots[dotstyle=*,dotsize=3pt](1,1)(1.5,1)(1,1.5) -\psline[linewidth=0.3pt](1.5,0.5)(1.5,2)(1,2)(1,0.5)(2,0.5)(2,1.5) -\psline[linewidth=0.3pt](1,1.5)(2,1.5)\psline[linewidth=0.3pt](1,1)(2,1) -\psarc[linewidth=0.5pt,linestyle=dotted,dotsep=1.5pt](1,1){0.5}{-90}{90} -\psarc[linewidth=0.5pt,linestyle=dotted,dotsep=1.5pt](1.5,1){0.5}{-90}{90} -\psarc[linewidth=0.5pt,linestyle=dotted,dotsep=1.5pt](1,1.5){0.5}{-90}{90} -\psline[linewidth=0.8pt]{->}(1,1.5)(1.27,1.92) -\psline[linewidth=0.8pt]{->}(1,1)(1.382,1.322) -\psline[linewidth=0.8pt]{->}(1.5,1)(1.977,1.147) -\rput(1,-0.1){$x_i$}\rput(1.5,-0.1){$x_{i+1}$}\rput(-0.1,1){$y_j$}\rput(-0.2,1.5){$y_{j+1}$} -\end{pspicture} -\caption{Field vectors on a grid.}\label{Fig5} -\end{figure} -The field vectors should all have the same magnitude and we choose here that length to be -$1/2$, that means $r=1/2$. Thus, vectors on the grid have their initial points and -terminal ones as -$$(x_i,y_j),\quad \Big(x_i+\frac{1}{2}\cos\varphi,y_j+\frac{1}{2}\sin\varphi\Big).$$ - -Of macros in \texttt{PSTricks} to draw lines, we select \texttt{\symbol{92}parametricplot}\footnote{\footnotesize -This macro is of ones, often added and updated in the package \texttt{pstricks-add}, the authors: -Dominique Rodriguez (\texttt{dominique.rodriguez@waika9.com}), Herbert Vo\ss\ (\texttt{voss@pstricks.de}).} -for its fitness. We immetiately have the simple parameterization of the vector at the grid point -$(x_i,y_j)$ as -\begin{align*} -x&=x_i+\frac{t}{2}\cos\varphi=x_i+\frac{t}{2\sqrt{1+k^2}},\\ -y&=y_j+\frac{t}{2}\sin\varphi=y_j+\frac{tk}{2\sqrt{1+k^2}}, -\end{align*} -where $t$ goes from $t=0$ to $t=1$, along the direction of the vector. The macro \texttt{\symbol{92}parametricplot} -has the syntax as -$$\texttt{\symbol{92}parametricplot[{\it settings}]\{$t_{\rm min}$\}\{$t_{\rm max}$\}\{$x(t)$|$y(t)$\}},$$ -where we should use the option \texttt{algebraic} to make the declaration of $x(t)$ and $y(t)$ simpler -with \texttt{ASCII} code. - -From the above description of one field vector, we go to the one of the whole vector field -on a grid belonging to the domain $R=\{(x,y)\colon a\le x\le b,\,c\le y\le d\}$. To determine the grid, we confine grid points to the range -\begin{equation}\label{eqn3} -a\le x_i\le b,\quad c\le y_j\le d. -\end{equation} -With respect to the indices $i$ and $j$, we choose initial values $x_0=a$ and -$y_0=c$, with increments $\Delta x=\Delta y=\delta$, corresponding to the length of vectors and the distance -between grid points as indicated in Figure \ref{Fig5}. Thus, to draw vectors at grid points -$(x_i,y_j)$, we need two loops for $i$ and $j$, with $0\le i\le\lfloor m/\delta\rfloor$, $0\le j\le\lfloor n/\delta\rfloor$, where -$m=b-a$, $n=d-c$. Apparently, these two loops are nested \texttt{\symbol{92}multido}s, with variable declaration -for each loop as follows -\begin{align*} -\texttt{\symbol{92}nx}&=\text{initial value}+\text{increment}=x_0+\Delta x,\\ -\texttt{\symbol{92}ny}&=\text{initial value}+\text{increment}=y_0+\Delta y. -\end{align*} -Finally, we will replace \texttt{\symbol{92}nx}, \texttt{\symbol{92}ny} by $x_i$, $y_j$ in the -below calling sequence for simplicity. - -Thus, the main procedure to draw the vector field of the equation (\ref{eqn2}) on the grid (\ref{eqn3}) -is -\begin{align*} -&\texttt{\symbol{92}multido\big\{$y_j=y_0+\Delta y$\big\}\big\{$\lfloor n/\delta\rfloor$\big\}}\texttt{\bigg\{\symbol{92}multido\big\{$x_i=x_0+\Delta x$\big\}\big\{$\lfloor m/\delta\rfloor$\big\}}\\ -&\quad\texttt{\Big\{\symbol{92}parametricplot[{\it settings}]\{$0$\}\{$1$\}\Big\{$x_i+\frac{t}{2\sqrt{1+\big[f(x_i,y_j)\big]^2}}$\Big| -$y_j+\frac{tf(x_i,y_j)}{2\sqrt{1+\big[f(x_i,y_j)\big]^2}}$\Big\}\bigg\}} -\end{align*} -where we at least use \texttt{arrows=->} and \texttt{algebraic} for \textit{settings}. - -We can combine the steps mentioned above to define a drawing procedure, say \texttt{\symbol{92}vecfld}, -that consists of main parameters in the order as -\texttt{\symbol{92}nx=}$x_0+\Delta x$, \texttt{\symbol{92}ny=}$y_0+\Delta y$, $\lfloor m/\delta\rfloor$, $\lfloor n/\delta\rfloor$, $\delta$ -and $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$. We may change these values to modify -the vector field or to avoid the vector intersection. Such a definition is suggested to be -\bigskip\hrule -\noindent\begin{tabular}{@{}l} -\verb!\def\vecfld#1#2#3#4#5#6{%!\\ -\verb!\multido{#2}{#4}{\multido{#1}{#3}!\\ -\verb!{\parametricplot[algebraic,arrows=->,linecolor=red]{0}{1}!\\ -\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}}}}! -\end{tabular}\bigskip\hrule -\subsection{Examples} -Firstly, we consider the equation that describes an object falling in a resistive medium: -\begin{equation}\label{eqn4} -\frac{dv}{dt}=9.8-\frac{v}{5}, -\end{equation} -where $v=v(t)$ is the speed of the object in time $t$. In Figure \ref{Fig6}, the vector field of (\ref{eqn4}) is given -on the grid $R=\{(t,y)\colon 0\le t\le 9,\,46\le v\le 52\}$, together with the graph of the equilibrium solution -$v=49$. -\begin{figure}[htbp] -\centering\begin{pspicture}(0,41.4)(8.55,47.25) -\psset{xunit=0.9,yunit=0.9} -\multido{\ny=46.25+0.50}{13} -{\multido{\nx=0.25+0.50}{18} -{\parametricplot[linewidth=0.5pt,algebraic,arrows=->,arrowinset=0.55,linecolor=red]{0}{1}{\nx+(t/2)*(1/sqrt(1+(9.8-0.2*(\ny))^2))|\ny+(t/2)*(1/sqrt(1+(9.8-(0.2)*(\ny))^2))*(9.8-(0.2)*(\ny))}}} -\psplot[algebraic,linewidth=1.2pt]{0}{9.25}{49} -\psaxes[labelFontSize=$\footnotesize$,ticksize=2.2pt,labelsep=4pt,Dy=1,Dx=1,Oy=46,linewidth=0.7pt]{->}(0,46)(0,46)(9.5,52.5) -\rput(9.5,45.8){$t$}\rput(-0.2,52.5){$y$} -\end{pspicture} -\caption{The vector field of (\ref{eqn4}).}\label{Fig6} -\end{figure} - -Figure \ref{Fig6} is made of the following \LaTeX\ code: -\bigskip\hrule -\noindent\begin{tabular}{@{}l} -\verb!\begin{pspicture}(0,46)(9.5,52.5)!\\ -\verb!\vecfld{\nx=0.25+0.50}{\ny=46.25+0.50}{18}{12}{0.5}{9.8-0.2*\ny}!\\ -\verb!\psplot[algebraic,linewidth=1.2pt]{0}{9}{49}!\\ -\verb!\psaxes[Dy=1,Dx=1,Oy=46]{->}(0,46)(0,46)(9.5,52.5)!\\ -\verb!\rput(9.5,45.8){$t$}\rput(-0.2,52.5){$y$}!\\ -\verb!\end{pspicture}! -\end{tabular} -\smallskip\hrule\bigskip -Let us next consider the problem -\begin{equation}\label{eqn5} -\frac{dy}{dx}=x+y,\quad y(0)=0. -\end{equation} -It is easy to check that $y=e^x-x-1$ is the unique solution to the problem (\ref{eqn5}). We now draw -the vector field of (\ref{eqn5}) and the solution curve\footnote{\footnotesize -We have used ${\rm ch}(1)+{\rm sh}(1)$ for the declaration of $e$, natural base of logarithmic function.} on the grid $R=\{(x,y)\colon 0\le x\le 3,\,0\le y\le 5\}$ in -Figure \ref{Fig7}. -\begin{figure}[htbp] -\centering\begin{pspicture}(0,0)(3.25,5.5) -\psset{unit=1} -\multido{\ny=0.25+0.50}{10} -{\multido{\nx=0.25+0.50}{6} -{\parametricplot[linewidth=0.5pt,algebraic,arrows=->,arrowinset=0.55,linecolor=red]{0}{1}{\nx+(t/2)*(1/sqrt(1+(\nx+\ny)^2))|\ny+(t/2)*(1/sqrt(1+(\nx+\ny)^2))*(\nx+\ny)}}} -\psplot[algebraic,linewidth=1.2pt]{0}{2.15}{(sh(1)+ch(1))^x-x-1} -\psaxes[labelFontSize=$\footnotesize$,Dy=1,Dx=1,ticksize=2.2pt,labelsep=4pt,linewidth=0.7pt]{->}(0,0)(3.5,5.5) -\rput(3.5,-0.2){$x$}\rput(-0.25,5.5){$y$} -\end{pspicture} -\caption{The vector field of (\ref{eqn5}).}\label{Fig7} -\end{figure} - -We then go to the logistic equation, which is chosen to be a model for the dependence -of the population size $P$ on time $t$ in Biology: -\begin{equation}\label{eqn6} -\frac{dP}{dt}=kP\Big(1-\frac{P}{M}\Big), -\end{equation} -where $k$ and $M$ are constants, respectively various to selected species and environment. -For specification, we take, for instant, $k=0.5$ and $M=100$. The right hand side of -(\ref{eqn6}) then becomes $f(t,P)=0.5\,P(1-0.01\,P)$. In Figure \ref{Fig8}, we draw the vector field -of (\ref{eqn6}) on the grid $R=\{(t,P)\colon 0\le t\le 10,\,95\le P\le 100\}$ and the equilibrium -solution curve $P=100$. Furthermore, with the initial condition $P(0)=95$, the equation (\ref{eqn6}) -has the unique solution $P=1900(e^{-0.5t}+19)^{-1}$. This solution curve is also given in Figure \ref{Fig8}. -\begin{figure}[htbp] -\centering\begin{pspicture}(0,76)(8.4,80.4) -\psset{xunit=0.8,yunit=0.8} -\multido{\ny=95.25+0.50}{10} -{\multido{\nx=0.25+0.50}{20} -{\parametricplot[linewidth=0.5pt,algebraic,arrows=->,arrowinset=0.55,linecolor=red]{0}{1}{\nx+(t/2)*(1/sqrt(1+((0.5)*(\ny)*(1-(0.01)*(\ny)))^2))|\ny+(t/2)*(1/sqrt(1+((0.5)*(\ny)*(1-(0.01)*(\ny)))^2))*((0.5)*(\ny)*(1-(0.01)*(\ny)))}}} -\psplot[algebraic,linewidth=1.2pt]{0}{10.25}{100} -\psplot[algebraic,linewidth=1.2pt]{0}{10.25}{1900/((ch(1)+sh(1))^(-0.5*x)+19)} -\psaxes[labelFontSize=$\footnotesize$,Dy=1,Dx=1,Oy=95,ticksize=2pt,labelsep=4pt,linewidth=0.7pt]{->}(0,95)(0,95)(10.5,100.5) -\rput(10.5,94.8){$t$}\rput(-0.25,100.5){$P$} -\end{pspicture} -\caption{The vector field of (\ref{eqn6}) with $k=0.5$ and $M=100$.}\label{Fig8} -\end{figure} - -The previous differential equations are all of seperated variable or linear cases that -can be solved for closed-form solutions by some simple integration formulas. We will consider one more -equation of the non-linear case whose solution can only be approximated by numerical methods. -The vector field of such an equation is so useful and we will use the Runge-Kutta curves (of order $4$) -to add more information about the behaviour of solution curve. Here, those Runge-Kutta curves are depicted by the procedure -\texttt{\symbol{92}psplotDiffEqn}, also updated from the package \texttt{pstricks-add}. - -The vector field of the non-linear differential equation -\begin{equation}\label{eqn7} -\frac{dy}{dx}=y^2-xy+1 -\end{equation} -will be depicted on the grid $R=\{(x,y)\colon -3\le x\le 3,\,-3\le y\le 3\}$ and the solutions -of Cauchy problems for (\ref{eqn7}), corresponding to initial conditions -\begin{listof} -\item $y(-3)=-1$, -\item $y(-2)=-3$, -\item $y(-3)=-0.4$, -\end{listof} -will be approximated by the method of Runge-Kutta, with the grid size $h=0.2$. It is very easy -to recognize approximate curves, respective to (i), (ii) and (iii) in Figure \ref{Fig9} below. -\begin{figure}[htbp] -\centering\begin{pspicture}(-3.6,-3.6)(4.2,4.2) -\psset{unit=1.2,dotsize=2.6pt} -\vecfld{\nx=-3.00+0.4}{\ny=-3.00+0.4}{16}{16}{0.35}{(\ny)^2-(\nx)*(\ny)+1} -\psplotDiffEqn[linewidth=1.2pt,algebraic,showpoints=true,plotpoints=24,method=rk4]{-3}{1.9}{-1}{(y[0])^2-x*y[0]+1} -\psplotDiffEqn[linewidth=1.2pt,algebraic,showpoints=true,plotpoints=25,method=rk4]{-2}{3}{-3}{(y[0])^2-x*y[0]+1} -\psplotDiffEqn[linewidth=1.2pt,algebraic,showpoints=true,plotpoints=10,method=rk4]{-3}{-0.96}{-0.4}{(y[0])^2-x*y[0]+1} -\psaxes[labelFontSize=$\footnotesize$,Dy=1,Dx=1,ticksize=2.2pt,labelsep=4pt,linewidth=0.7pt]{->}(0,0)(-3,-3)(3.5,3.5) -\rput(3.5,-0.2){$x$}\rput(-0.25,3.5){$y$} -\end{pspicture} -\caption{The vector field of (\ref{eqn7}) and the Runge-Kutta curves.}\label{Fig9} -\end{figure} -\section{Remarks on how to color arrows properly for a vector field} -\subsection{Description} -In the \verb!\vecfld! procedure, the command -\begin{equation}\label{bosung1} -\texttt{\symbol{92}parametricplot[{\it settings}]\{$t_{\rm min}$\}\{$t_{\rm max}$\}\{$x(t)$|$y(t)$\}} -\end{equation} -does the two works: drawing the whole oriented line segment and putting the endpoint right after -the vector. This blots out the pointy head of arrows and makes field vectors less sharp when being seen closely. -However, there is no problem with the procedure if we just want a monochrome vector field. But, in case of using arrows -with their various color shades, we should use an independent procedure with options to draw a color arrow. For such a procedure, -the command \texttt{\symbol{92}psline} could be the best choice. We just call it with two argument points, which are extracted from the curve -produced by the command \texttt{\symbol{92}parametricplot}. - -To modify the \verb!\vecfld! procedure, from the above consideration, we might take the command \texttt{\symbol{92}curvepnodes} in the package \texttt{pst-node}\footnote{\footnotesize -Package authors: Timothy Van Zandt (\texttt{tvz@econ.insead.fr}), Michael Sharpe (\texttt{msharpe@euclid.ucsd.edu}) and Herbert Vo\ss\ (\texttt{hvoss@tug.org}).} to -extract points from a curve $(x(t),y(t))$ given in the algebraic form. Because we only need the two ending points of the curve, -we can use -\begin{equation}\label{bosung2} -\texttt{\symbol{92}curvepnodes[algebraic,plotpoints=2]\{0\}\{1\}\{$x(t)$|$y(t)$\}\{P\}}, -\end{equation} -where \texttt{P} is a name of the root of nodes and we just get the two nodes \texttt{P0}, \texttt{P1} when executing this command. Then, the corresponding -vector is drawn by the command -\begin{equation}\label{bosung3} -\texttt{\symbol{92}psline[linecolor={\it settings}]\{->\}(P0)(P1)} -\end{equation} -The command (\ref{bosung1}) may be replaced by the two ones (\ref{bosung2}) and (\ref{bosung3}), and we obtain the arrows whose heads are now sharper. - -The remaining problem is how to appropriately make \textit{settings} in (\ref{bosung3}) to bring out a vector field. Obviously, \textit{settings} should be -various color shades according to slope of vectors. In Subsection \ref{sect1}, we know for the equation (\ref{eqn2}) that $f(x_i,y_j)$ is right the slope of -field vectors at grid points $(x_i,y_j)$, and we will divide these slopes into some number of scales, corresponding to the -degree of color shades. Here, we confine our interest to a continuous function $f(x,y)$ in two independent variables on the domain -$R=\{(x,y)\colon a\le x\le b,\,c\le y\le d\}$ and choose the scale of $10$ degrees. This number of degrees can be changed to any positive integer. - -According to the input data from the differential equation (\ref{eqn2}), the set $R$ and the grid points on it and the value $M=\max\{|f(x_i,y_j)|\colon -0\le i\le\lfloor m/\Delta x\rfloor,\,0\le j\le\lfloor n/\Delta y\rfloor\}$, where $m=b-a$ and $n=d-c$, -we can now define the degree of color shade for each arrow in our vector field. It should be an integer $n_{ij}$ such that -$n_{ij}=\lfloor 10|f(x_i,y_j)|/M\rfloor$, that is -\begin{equation}\label{bosung4}n_{ij}M\le 10|f(x_i,y_j)|<(n_{ij}+1)M.\end{equation} -For finding such an integer, in \TeX\ codes, we need one \texttt{\symbol{92}newcount} for it and two \texttt{\symbol{92}newdimen} for -$f(x_i,y_j)$ and intermediate values to be compared with $|f(x_i,y_j)|$. For more explanation, let us begin with settings -\texttt{\symbol{92}newcount\symbol{92}intg} (referring (ref.) to ``integer''), \texttt{\symbol{92}newdimen\symbol{92}slope} (ref. to ``slope'') and \texttt{\symbol{92}newdimen\symbol{92}interm} -(ref. to ``intermediate values''). Then, the integer $n_{ij}$ at stage $(i,j)$ within the two loops \texttt{\symbol{92}multido} can be defined by the recursive macro \texttt{\symbol{92}fintg} (ref. to ``find the integer'') as follows -\begin{verbatim} - \def\fintg{\interm=Mpt \interm=\intg\interm% - \ifdim\ifdim\slope<0pt -\fi\slope>\interm \advance\intg by 1\fintg\fi} -\end{verbatim} -where \texttt{M} and \texttt{\symbol{92}slope} are holding the values $M$ and $f(x_i,y_j)$, respectively. Note that, before running our macro, \verb!\slope! should be multiplied -by $10$ with the assignment \texttt{\symbol{92}slope=10\symbol{92}slope}, as defined in (\ref{bosung4}). Besides, by simulating the expression of $f(x,y)$, the calculation of $f(x_i,y_j)$ -should be declared with operations on \texttt{\symbol{92}newcount}s and \texttt{\symbol{92}newdimen}s. Then, the integer $n_{ij}$, which is found at stage $(i,j)$, should take its -degree, say $k$, from $0$ to $10$ by its value, suitably associated to the command \texttt{\symbol{92}psline[linecolor=red!case-k]\{->\}(P0)(P1)}. -Here, we choose \texttt{red} for the main color (it can be changed, of course), and \texttt{case-k} will be replaced with an appropriate percentage of \texttt{red}. Finally, -making such a color scale is local and relative, so we can use one more parameter in the procedure to adjust color shades. -The old procedure takes $6$ parameters and the new one will take two more parameters: one for a way of computing $f(x_i,y_j)$ and the other -for adjusting color shades. - -Let us take some examples on how to compute $f(x_i,y_j)$ by \TeX\ codes or by the commands from the package \texttt{calculator}\footnote{\footnotesize -Package author: Robert Fuster (\texttt{rfuster@mat.upv.es}).}. For a simple polynomial $f(x,y)$, -computing $f(x_i,y_j)$ by \TeX\ codes might be facile. Because \verb!\nx! and \verb!\ny! are respectively holding the values of -$x_i$ and $y_j$, we need the two corresponding dimensions \verb!\newdimen\fx! and \verb!\newdimen\fy! to take these values. By assigning \verb!\fx=\nx pt\fy=\ny pt!, -we compute $f(\verb!\nx!,\verb!\ny!)$ and assign its value to \verb!\slope!. The declaration of calculations for some cases of $f(x,y)$ is given in the following table. - -\begin{table}[htbp] -\centering\begin{tabular}{c|l} -$f(x,y)$&\multicolumn{1}{c}{\TeX\ codes for computing $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$} \\ \hline -$x+y$&\verb!\advance\slope by \fx \advance\slope by \fy!\\ \hline -$1-xy$&\verb!\advance\slope by -\decimal\fx\fy \advance\slope by 1pt!\\ \hline -$y(3-y)$&\verb!\advance\slope by -\decimal\fy\fy \advance\slope by 3\fy!\\ \hline -$y^2-xy$&\verb!\advance\slope by \decimal\fy\fy \advance\slope by -\decimal\fx\fy!\\ \hline -\end{tabular} -\end{table} -In the table, the command \verb!\decimal!, which is quotative from \cite{five} for producing decimal numbers from dimensions, is put in the preamble using a definition as -\begin{verbatim} - \def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} - \xch \def\dec#1pt{#1}\ych \def\decimal#1{\expandafter\dec \the#1} -\end{verbatim} - -For a transcendental or rational function $f(x,y)$, we should use the package \texttt{calculator} for -computing $f(x_i,y_j)$. The following table shows how to perform the calculations. -\begin{table}[htbp] -\centering\begin{tabular}{c|l} -$f(x,y)$&\multicolumn{1}{c}{The commands from the package \texttt{calculator} for computing $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$} \\ \hline -$\sin(y-x)$&\verb!\SUBTRACT{\ny}{\nx}{\sola}\SIN{\sola}{\solb}\slope=\solb pt!\\ \hline -\raisebox{-2ex}[0pt][0pt]{$2xy/(1+y^2)$}&\verb!\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}!\\ -&\verb!\Fncty{\ny}{\soly}{\Dsoly}\DIVIDE{\Dsoly}{\soly}{\tempa}!\\ -&\verb!\MULTIPLY{\nx}{\tempa}{\tempb}\slope=\tempb pt!\\ \hline -\end{tabular} -\end{table} - -From the old macro \verb!\vecfld!, we will construct the new one \verb!\vecfldnew! by adding up to the former the two parameters as described above. According to -the description of new parameters and of known ones, the calling sequence of \verb!\vecfldnew! may have the form of -$$\texttt{\symbol{92}vecfldnew\{\symbol{92}nx$=x_0+\Delta x$\}\{\symbol{92}ny$=y_0+\Delta y$\}\{$n_x$\}\{$n_y$\}\{$\ell$\}\{$f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$\}\{{\rm\TeX\ codes}\}\{$n_a$\}}$$ -where $n_a$ is an estimate value for $M$ and can be adjusted to be greater or less than $M$. This flexible mechanism might be to increase or decrease the degree of -color shades. Finally, \verb!\intg! and \verb!\slope! should be reset to -zero at the end of each stage. Now, all materials to make the new macro are ready, and a definition for it is suggested to be -\bigskip\hrule -\noindent\begin{tabular}{@{}l} -\verb!\def\vecfldnew#1#2#3#4#5#6#7#8{%!\\ -\verb!\newcount\intg \newdimen\slope \newdimen\interm \newdimen\fx \newdimen\fy!\\ -\verb!\def\fintg{\interm=#8 \interm=\intg\interm%!\\ -\verb! \ifdim\ifdim\slope<0pt -\fi\slope>\interm \advance\intg by 1\fintg\fi}!\\ -\verb!\multido{#2}{#4}!\\ -\verb!{\multido{#1}{#3}!\\ -\verb!{\curvepnodes[algebraic,plotpoints=2]{0}{1}!\\ -\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P}!\\ -\verb!#7\slope=10\slope \fintg \ifnum\intg>10\psline[linecolor=red]{->}(P0)(P1)!\\ -\verb+\else\ifnum\intg=0\psline[linecolor=red!5]{->}(P0)(P1)+\\ -\verb+\else\multiply\intg by 10\psline[linecolor=red!\the\intg]{->}(P0)(P1)\fi\fi+\\ -\verb+\intg=0\slope=0pt+\\ -\verb+}}}+ -\end{tabular} -\smallskip\hrule\smallskip - -If we predefine some scale of degrees, instead of the code $\verb!\ifnum\intg>10!\ldots\verb!\fi\fi!$, the structure \verb!\ifcase! can be used as -$$\begin{array}{c} -\verb!\ifcase\intg!\\ -\verb+\psline[linecolor=red!5]{->}(P0)(P1)\or+\\ -\verb+\psline[linecolor=red!10]{->}(P0)(P1)\or+\\ -\vdots\\ -\verb!\psline[linecolor=red]{->}(P0)(P1)\fi! -\end{array}$$ -\subsection{Examples} -The first example is given with the two $n_a$s to see how different the color shades are between the two cases. The left vector field in Figure \ref{figure1} -is made of the calling sequence -\begin{verbatim} -\vecfldnew{\nx=-2.00+0.3}{\ny=-2.00+0.3}{14}{14}{0.3}{(\nx)-2*(\ny)} -{\fy=\ny pt \fx=\nx pt \advance\slope by -2\fy \advance\slope by \fx}{9pt} -\end{verbatim} -\begin{figure}[htbp] -\centering\includegraphics[width=4.6cm]{vec5} -\hskip1cm\includegraphics[width=4.6cm]{vec6} -\caption{The vector fields of the equation $y'=x-2y$ with $n_a=\texttt{9pt}$ (the left) and $n_a=\texttt{5pt}$ (the right)}\label{figure1} -\end{figure} - -In Figure \ref{figure2}, the vector fields of the equations $y'=y-x$ and $y'=x(2-y)$ are respectively drawn by the calling sequences -\begin{verbatim} -\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{(\ny)-(\nx)} -{\fy=\ny pt \fx=\nx pt \advance\slope by -\fx \advance\slope by \fy}{5pt} -\end{verbatim} -and -\begin{verbatim} -\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{(\nx)*(2-(\ny))} -{\fy=\ny pt \fx=\nx pt \advance\slope by -\decimal\fx\fy -\advance\slope by 2\fx}{6pt} -\end{verbatim} -\begin{figure}[htbp] -\centering\includegraphics[width=6.2cm]{vec3} -\hskip1cm\includegraphics[width=6.2cm]{vec4} -\caption{The vector fields of the equation $y'=y-x$ (the left) and $y'=x(2-y)$ (the right).}\label{figure2} -\end{figure} - -Finally, we consider two more examples on vector fields of differential equations $y'=f(x,y)$ containing trigonometric or rational functions on the right side. The calling sequences -\begin{verbatim} -\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{sin(\nx)*cos(\ny)} -{\SIN{\nx}{\tmpa}\COS{\ny}{\tmpb}\MULTIPLY{\tmpa}{\tmpb}{\tmpc} -\slope=\tmpc pt}{0.6pt} -\end{verbatim} -and -\begin{verbatim} -\vecfldnew{\nx=-3.00+0.3}{\ny=-3.00+0.3}{20}{20}{0.3}{2*(\nx)*(\ny)/(1+(\ny)^2)} -{\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}\Fncty{\ny}{\soly}{\Dsoly} -\DIVIDE{\Dsoly}{\soly}{\tempa}\MULTIPLY{\nx}{\tempa}{\tempb} -\slope=\tempb pt}{2.5pt} -\end{verbatim} -respectively result in the vector field on the left and on the right in Figure \ref{figure3}. - -\begin{figure}[htbp] -\centering\includegraphics[width=6.2cm]{vec1} -\hskip1cm\includegraphics[width=6.2cm]{vec2} -\caption{The vector fields of the equation $y'=\sin(x)\cos(y)$ (the left) and $y'=2xy/(1+y^2)$ (the right).}\label{figure3} -\end{figure} - -\acknw -I am very grateful to -\begin{itemize} -\item Timothy Van Zandt, Herbert Vo\ss, Dominique Rodriguez and Michael Sharpe for helping me with -their great works on \texttt{PSTricks}. -\item H\`an Th\hantt\rlap\accentcircflx\ Th\`anh for helping me with his pdf\hskip.03em\LaTeX\ program. -\item Robert Fuster for his very useful package \texttt{calculator}. -\end{itemize} -\begin{thebibliography}{10} -\bibitem{one} Dominique Rodriguez, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pstricks-add}: Additional Macros for PSTricks\/}. -Version 3.60, \url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 -\bibitem{two} Timothy Van Zandt, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pst-node}: Nodes and node connections}. -Version 1.29, \url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 -\bibitem{three} Helmut Kopka \&\ Patrick W. Daly. \textsl{Guide to \LaTeX \/}. -Addison-Wesley, Fourth Edition, 2004, ISBN 0321173856 -\bibitem{four} Timothy Van Zandt. \textsl{User's Guide\/}. Version 1.5,\\ -\url{http://ctan.org/tex-archive/graphics/pstricks/base}, 2007 -\bibitem{five}Eitan M. Gurari. \textsl{Writing With \TeX \/}, McGraw-Hill, Inc., 1994, ISBN 0-07-025207-6 -\bibitem{six} Robert Fuster. \textsl{\texttt{calculator-calculus}: Scientific Calculations With \LaTeX \/}. Version 1.0a, -\url{http://ctan.org/tex-archive/macros/latex/contrib/calculator}, 2012 -\end{thebibliography} -\end{document} diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/ThreeAppsPS.tex b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/ThreeAppsPS.tex new file mode 100644 index 00000000000..b1cfddca668 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/ThreeAppsPS.tex @@ -0,0 +1,1165 @@ +\documentclass[11pt,a4paper,oneside]{article} +\usepackage{calculator} +\usepackage{calculus} +\usepackage{amsthm} +\usepackage{amsmath} +\usepackage{cmtt} +\usepackage[dvips]{geometry} +\usepackage{pstricks} +\usepackage{graphicx} +\usepackage{graphics} +\usepackage{pst-plot} +\usepackage{pst-node} +\usepackage{multido} +\usepackage{pst-xkey} +\usepackage{pst-func} +\usepackage{pstricks-add} +\usepackage[dvips,colorlinks,linktocpage]{hyperref} +\def\hantt{\^e}\def\accentcircflx{\hskip-.3em\raisebox{0.32ex}{\'{}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\RiemannSum#1#2#3#4#5#6#7#8#9{% +\psplot[linecolor=blue]{#1}{#2}{#3} +\pscustom[linecolor=red]{% +\psline{-}(#1,0)(#1,0) +\multido{\ni=#5,\ne=#6}{#4} +{\psline(*{\ni} {#8})(*{\ne} {#9})}} +\multido{\ne=#6,\nc=#7}{#4} +{\psdot(*{\nc} {#3}) +\psline[linestyle=dotted,dotsep=1.5pt](\nc,0)(*{\nc} {#3}) +\psline[linecolor=red](\ne,0)(*{\ne} {#9})} +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcount\Fa\newcount\Fct\newcount\tempA +\def\Factor{\ifnum\Fa=1\relax\else\advance\Fa by -1\multiply\Fct by \Fa\Factor\fi} +\def\FACTORIAL#1{\Fa=#1 \ifnum\Fa=0 \Fct=1\relax\else\Fct=\Fa \Factor\fi\global\tempA=\Fct} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcount\BINOM +\newcount\temp +\newcount\tmp +\def\BINOMIAL#1#2{% +\temp=#1\advance\temp by -#2 +\FACTORIAL{#1} +\tmp=\tempA +\FACTORIAL{\temp} +\temp=\tempA +\divide\tmp by \temp +\FACTORIAL{#2} +\temp=\tempA +\divide\tmp by \temp\global\BINOM=\tmp} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newdimen\Xa\newdimen\Yb\newcount\kc +\newdimen\BSTemp +\def\xmult#1{\ifnum\kc<#1\advance\kc by 1\Yb=\decimal\Xa\Yb\xmult{#1}\else\relax\fi} +\def\BERNSTEIN#1#2#3{\Xa=#3pt\kc=0\Yb=1pt\xmult{#1}\kc=0\Xa=-\Xa\advance\Xa by 1pt\xmult{#2} +\BINOMIAL{6}{#1}\global\BSTemp=\BINOM\Yb} +\newdimen\Xrf\newdimen\Yrf +\newdimen\XBST\newdimen\YBST +\def\XBC#1#2#3{% +\BERNSTEIN{0}{6}{#2} +\Xrf=#1pt +\XBST=\decimal\BSTemp\Xrf +\BERNSTEIN{1}{5}{#2} +\Xrf=#1pt\advance\Xrf by -1.5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{2}{4}{#2} +\Xrf=#1pt\advance\Xrf by 2pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{3}{3}{#2} +\Xrf=#1pt\advance\Xrf by 6pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{4}{2}{#2} +\Xrf=#1pt\advance\Xrf by 5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{5}{1}{#2} +\Xrf=#1pt\advance\Xrf by 1.5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{6}{0}{#2} +\Xrf=#1pt +\advance\XBST by \decimal\BSTemp\Xrf +\global\XBST=#3\XBST} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\YBC#1#2#3{% +\BERNSTEIN{0}{6}{#2} +\Yrf=#1pt +\YBST=\decimal\BSTemp\Yrf +\BERNSTEIN{1}{5}{#2} +\Yrf=#1pt\advance\Yrf by 2pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{2}{4}{#2} +\Yrf=#1pt\advance\Yrf by 5pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{3}{3}{#2} +\Yrf=#1pt\advance\Yrf by 3pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{4}{2}{#2} +\Yrf=#1pt\advance\Yrf by -1pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{5}{1}{#2} +\Yrf=#1pt\advance\Yrf by -2pt +\advance\YBST by \decimal\BSTemp\Yrf +\BERNSTEIN{6}{0}{#2} +\Yrf=#1pt +\advance\YBST by \decimal\BSTemp\Yrf +\global\YBST=#3\YBST} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\XBsix#1#2{% +(1-t)^6*(#1)*(#2)+6*t*(1-t)^5*(#1-1.5)*(#2)+15*t^2*(1-t)^4*(#1+2)*(#2)+ +20*t^3*(1-t)^3*(#1+6)*(#2)+15*t^4*(1-t)^2*(#1+5)*(#2)+6*t^5*(1-t)*(#1+1.5)*(#2)+t^6*(#1)*(#2)} +\def\YBsix#1#2{% +(1-t)^6*(#1)*(#2)+6*t*(1-t)^5*(#1+2)*(#2)+15*t^2*(1-t)^4*(#1+5)*(#2)+ +20*t^3*(1-t)^3*(#1+3)*(#2)+15*t^4*(1-t)^2*(#1-1)*(#2)+6*t^5*(1-t)*(#1-2)*(#2)+t^6*(#1)*(#2)} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\NetDraw#1#2#3#4#5{% +\newcount\CellNum +\newdimen\XRef +\newdimen\YRef +\newdimen\Xfact +\newdimen\Yfact +\newdimen\XMin +\newdimen\XMax +\newdimen\YMin +\newdimen\YMax +\newdimen\Xsize +\newdimen\Ysize +\newdimen\tempx +\newdimen\tempy +\CellNum=#1 +\XRef=#2pt +\YRef=#3pt +\Xfact=#4pt +\Yfact=#5pt +\XMin=\decimal\Xfact\XRef \advance\XMin by -1.50\Xfact +\XMax=\decimal\Xfact\XRef \advance\XMax by 5.00\Xfact +\YMin=\decimal\Yfact\YRef \advance\YMin by -6.00\Yfact +\YMax=\decimal\Yfact\YRef \advance\YMax by \Yfact +\Xsize=\XMax \advance\Xsize by -\XMin \divide\Xsize by \CellNum +\Ysize=\YMax \advance\Ysize by -\YMin \divide\Ysize by \CellNum +\parametricplot[algebraic,fillstyle=solid,fillcolor=yellow!30,plotpoints=200,linewidth=0.5pt]{0}{0.5} +{\XBeight{\decimal\XRef}{\decimal\Xfact}|\YBeight{\decimal\YRef}{\decimal\Yfact}} +\parametricplot[algebraic,fillstyle=solid,fillcolor=yellow!30,plotpoints=200,linewidth=0.5pt]{0.5}{1} +{\XBeight{\decimal\XRef}{\decimal\Xfact}|\YBeight{\decimal\YRef}{\decimal\Yfact}} +\multido{\nz=0.00+0.05}{200}{\XBC{\decimal\XRef}{\nz}{\decimal\Xfact}\YBC{\decimal\YRef}{\nz}{\decimal\Yfact} +\multido{\nx=\decimal\XMin+\decimal\Xsize}{\the\CellNum} +{\tempx=\nx pt\multido{\ny=\decimal\YMin+\decimal\Ysize}{\the\CellNum} +{\tempy=\ny pt\ifdim\YBST<\tempy\relax\else\advance\tempy by \Ysize% + \ifdim\YBST>\tempy\relax\else + \ifdim\XBST<\tempx\relax\else\advance\tempx by \Xsize + \ifdim\XBST>\tempx\relax\else + \pspolygon[fillstyle=solid,fillcolor=red!90,linecolor=black,linewidth=0.2pt] + (\nx,\ny)(\decimal\tempx,\ny)(\decimal\tempx,\decimal\tempy)(\nx,\decimal\tempy)(\nx,\ny)\relax\fi\fi\fi\fi} +}} +\advance\CellNum by 1 +\multido{\nx=\decimal\XMin+\decimal\Xsize}{\the\CellNum} +{\psline[linewidth=0.2pt](\nx,\decimal\YMax)(\nx,\decimal\YMin)} +\multido{\ny=\decimal\YMin+\decimal\Ysize}{\the\CellNum} +{\psline[linewidth=0.2pt](\decimal\XMin,\ny)(\decimal\XMax,\ny)} +\parametricplot[algebraic,linecolor=white,plotpoints=200,linewidth=0.5pt]{0}{0.5} +{\XBeight{\decimal\XRef}{\decimal\Xfact}|\YBeight{\decimal\YRef}{\decimal\Yfact}} +\parametricplot[algebraic,linecolor=white,plotpoints=200,linewidth=0.5pt]{0.5}{1} +{\XBeight{\decimal\XRef}{\decimal\Xfact}|\YBeight{\decimal\YRef}{\decimal\Yfact}} +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\avecfld#1#2#3#4#5#6{% +\multido{#2}{#4} +{\multido{#1}{#3} +{\parametricplot[algebraic,arrows=->,linecolor=red]{0}{1} +{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\anothervecfld#1#2#3#4#5#6{% +\multido{#2}{#4} +{\multido{#1}{#3} +{\curvepnodes[algebraic,plotpoints=2]{0}{1} +{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P} +\psline[linewidth=0.7pt,linecolor=red]{->}(P0)(P1)}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} +\xch \def\dec#1pt{#1}\ych \def\decimal#1{\expandafter\dec \the#1} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\vecfldnew#1#2#3#4#5#6#7#8{% +\newcount\intg \newdimen\fx \newdimen\fy \newdimen\slope \newdimen\interm +\def\fintg{\interm=#8 \interm=\intg\interm \ifdim\ifdim\slope<0pt-\fi\slope<\interm\advance\intg by -1\relax\else\advance\intg by 1\fintg\fi} +\multido{#2}{#4} +{\multido{#1}{#3} +{\curvepnodes[algebraic,plotpoints=2]{0}{1}{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P} +#7 \slope=10\slope\fintg +\ifnum\intg>10\psline[linecolor=red]{->}(P0)(P1)\else\ifnum\intg=0\psline[linecolor=red!5]{->}(P0)(P1)\else\multiply\intg by 10 +\psline[linecolor=red!\the\intg]{->}(P0)(P1)\fi\fi +\intg=0\slope=0pt +}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagestyle{headings} +\topmargin=-0.6cm +\textwidth=16.7cm +\textheight=23cm +\headheight=2.5ex +\headsep=0.6cm +\oddsidemargin=.cm +\evensidemargin=-.4cm +\parskip=0.7ex plus0.5ex minus 0.5ex +\baselineskip=17pt plus2pt minus2pt +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\catcode`@=11 +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\large\bfseries}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\bfseries}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\gdef\acknw{\section*{% +{\acknwname}\markright{\protect\textsl{\acknwname}}}% +\addcontentsline{toc}{section}{\acknwname}} +\gdef\acknwname{Acknowledgment} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\renewcommand\sectionmark[1]{\markright{\thesection. #1}} +\newcounter{lk} +\newenvironment{listof}{\begin{list}{\rm(\roman{lk})}{\usecounter{lk}% +\setlength{\topsep}{0ex plus0.1ex}% +\setlength{\labelwidth}{1cm}% +\setlength{\itemsep}{0ex plus0.1ex}% +\setlength{\itemindent}{0.5cm}% +}}{\end{list}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\title{Three applications of macros in \texttt{PSTricks}\thanks{PSTricks is the original work of Timothy Van Zandt (email address: \texttt{tvz@econ.insead.fr}). +It is currently edited by Herbert Vo\ss\ (\texttt{hvoss@tug.org}).}} +\author{Le Phuong Quan\\ +\small{(Cantho University, Vietnam)}\\ +\small{\texttt{lpquan@ctu.edu.vn}}} +\begin{document} +\maketitle +\tableofcontents +\section{Drawing approximations to the area under a graph by rectangles} +\subsection{Description} + +We recall here an operation in Calculus. Let $f(x)$ be a function, defined and bounded on +an interval $[a,b]$. If $f$ is integrable (in Riemann sense) on $[a,b]$, then its definite integral over this interval +is +$$\int_a^bf(x)dx=\lim_{\|P\|\to 0}\sum_{i=1}^nf(\xi_i)\Delta x_i,$$ +where $P\colon a=x_0}(0,0)(-2.5,-10)(3.5,15.5) +\psplot[plotpoints=500,algebraic,linecolor=red]{-2}{3}{x^3-2*x^2+6} +\pscustom{ +\psline{-}(-2,0)(-2,0) +\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} +{\psplot[algebraic]{\nx}{\ni}{(\ny)^3-2*(\ny)^2+6}} +\psline{-}(3,0)} +\end{pspicture} +\hskip3em +\begin{pspicture}(-2,-2)(3,3.5) +\psset{yunit=0.2} +\psaxes[labelFontSize=$\footnotesize$,Dy=2,ticksize=2.2pt,labelsep=4pt]{->}(0,0)(-2.5,-10)(3.5,15.5) +\psplot[plotpoints=500,algebraic,linecolor=red]{-2}{3}{x^3-2*x^2+6} +\pscustom{ +\psline{-}(-2,0)(-2,0) +\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} +{\psplot[algebraic]{\nx}{\ni}{(\ny)^3-2*(\ny)^2+6}} +\psline{-}(3,0)} +\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} +{\psline[linestyle=dotted,dotsep=1.5pt,dotstyle=o,linecolor=gray](\ny,0)(*{\ny} {x^3-2*x^2+6}) +\psdot[dotsize=1.2pt 1,dotstyle=Bo](*{\ny} {x^3-2*x^2+6})} +\end{pspicture}\\[3ex] +\centering\begin{pspicture}(-2,-2)(3,3) +\psset{yunit=0.2} +\psaxes[labelFontSize=$\footnotesize$,Dy=2,ticksize=2.2pt,labelsep=4pt]{->}(0,0)(-2.5,-10)(3.5,15.5) +\psplot[plotpoints=500,algebraic,linecolor=red]{-2}{3}{x^3-2*x^2+6} +\pscustom{ +\psline{-}(-2,0)(-2,0) +\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} +{\psplot[algebraic]{\nx}{\ni}{(\ny)^3-2*(\ny)^2+6}} +\psline{-}(3,0)} +\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{10} +{\psline[linestyle=dotted,dotsep=1.5pt,dotstyle=o,linecolor=gray](\ny,0)(*{\ny} {x^3-2*x^2+6}) +\psdot[dotsize=1.2pt 1,dotstyle=Bo](*{\ny} {x^3-2*x^2+6})} +\multido{\nx=-2.000+0.500,\ny=-1.750+0.500,\ni=-1.500+0.500}{9} +{\psline(\ni,0)(*{\ni} {(x-0.25)^3-2*(x-0.25)^2+6})} +\end{pspicture} +\caption{Steps to make the drawing procedure.}\label{Fig1} +\end{figure} + +We now combine the above steps to make a procedure whose calling sequence consists of main parameters +$a$, $b$, $f$ and $n$, and dependent parameters $x_{i-1}$, $x_i$, $\xi_i$, $f(\xi_i)$ and +$f(x\pm\Delta x_i/2)$. For instance, let us consider approximations to the integral of $f(x)=\sin x-\cos x$ +over $[-2,3]$ in cases of $n=5$ and $n=20$. They are given in Figure \ref{Fig2}. +\begin{figure}[htbp] +\centering\begin{pspicture}(-2.5,-3)(3.5,3.01) +\psset{plotpoints=500,algebraic,dotsize=1pt 2,yunit=2} +\psaxes[labelFontSize=$\footnotesize$,Dy=1]{->}(0,0)(-2.5,-1.5)(3.5,1.5) +\RiemannSum{-2}{3}{sin(x)-cos(x)}{5} +{-2.0+1.0}{-1.0+1.0}{-1.5+1.0} +{sin(x+0.5)-cos(x+0.5)}{sin(x-0.5)-cos(x-0.5)} +\end{pspicture} +\hskip4em +\begin{pspicture}(-2.5,-3)(3.5,3.01) +\psset{plotpoints=500,algebraic,dotsize=1pt 2,yunit=2} +\psaxes[labelFontSize=$\footnotesize$,Dy=1]{->}(0,0)(-2.5,-1.5)(3.5,1.5) +\RiemannSum{-2}{3}{sin(x)-cos(x)}{20} +{-2.000+0.250}{-1.750+0.250}{-1.875+0.250} +{sin(x+0.125)-cos(x+0.125)}{sin(x-0.125)-cos(x-0.125)} +\end{pspicture} +\caption{Approximations to the integral of $f(x)=\sin x-\cos x$ over $[-2,3]$.}\label{Fig2} +\end{figure} + +In summary, we can make a procedure to illustrate the approximation (\ref{eqn1}), say \texttt{RiemannSum}, whose calling sequence has the form of +$$\textmtt{\symbol{92}RiemannSum\{$a$\}\{$b$\}\{$f(x)$\}\{$n$\}\{$x_{\rm ini}$\}\{$x_{\rm end}$\}\{$x_{\rm choice}$\}\{$f(x+\Delta x_i/2)$\}\{$f(x-\Delta x_i/2)$\}},$$ +where $x_0=a$ and for each $i=1,2\ldots,n$: +\begin{align*} +x_i&=a+\dfrac{b-a}{n}i,\quad\Delta x_i=x_i-x_{i-1}=\dfrac{b-a}{n},\\ +x_{\rm ini}&=x_0+\Delta x_i,\quad x_{\rm end}=x_1+\Delta x_i,\quad x_{\rm choice}=\dfrac{x_{\rm ini}+x_{\rm end}}{2}=\dfrac{x_0+x_1}{2}+\Delta x_i. +\end{align*} +Note that $x_{\rm ini}$, $x_{\rm end}$ and $x_{\rm choice}$ are given in such forms to be +suitable to variable declaration in \texttt{\symbol{92}multido}. They are nothing but +$x_{i-1}$, $x_i$ and $\xi_i$, respectively, at the step $i$-th in the loop. + +Tentatively, in \texttt{PSTricks} language, the definition of \texttt{RiemannSum} is suggested to be +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\def\RiemannSum#1#2#3#4#5#6#7#8#9{%!\\ +\verb!\psplot[linecolor=blue]{#1}{#2}{#3}!\\ +\verb!\pscustom[linecolor=red]{%!\\ +\verb!\psline{-}(#1,0)(#1,0)!\\ +\verb!\multido{\ni=#5,\ne=#6}{#4}!\\ +\verb!{\psline(*{\ni} {#8})(*{\ne} {#9})}}!\\ +\verb!\multido{\ne=#6,\nc=#7}{#4}!\\ +\verb!{\psdot(*{\nc} {#3})!\\ +\verb!\psline[linestyle=dotted,dotsep=1.5pt](\nc,0)(*{\nc} {#3})!\\ +\verb!\psline[linecolor=red](\ne,0)(*{\ne} {#9})}}! +\end{tabular}\hrule +\subsection{Examples} +We give here two more examples just to see that using the drawing procedure is very easy. In the first example, we approximate +the area under the graph of the function $f(x)=x-(x/2)\cos x+2$ on the interval $[0,8]$. To draw the approximation, we try +the case $n=16$; thus $x_0=0$ and for each $i=1,\ldots,16$, we have +$x_i=0.5\,i$, $\Delta x_i=0.5$, $x_{\rm ini}=0.00+0.50$, $x_{\rm end}=0.50+0.50$ and $x_{\rm choice}=0.25+0.50$. +\begin{figure}[htbp] +\centering\begin{pspicture}(0,0)(5.1,6.6) +\psset{plotpoints=500,algebraic,dotsize=1pt 2,unit=0.6} +\RiemannSum{0}{8}{x-(x/2)*cos(x)+2}{16}{0.00+0.50}{0.50+0.50}{0.25+0.50} +{x+0.25-((x+0.25)/2)*cos(x+0.25)+2}{x-0.25-((x-0.25)/2)*cos(x-0.25)+2} +\psaxes[labelFontSize=$\footnotesize$,Dy=1,ticksize=2.2pt,labelsep=4pt]{->}(0,0)(8.5,11) +\end{pspicture} +\vskip0.5ex +\caption{An approximation to the area under the graph of $f(x)=x-(x/2)\cos x+2$ on $[0,8]$.}\label{Fig3} +\end{figure} + +To get Figure \ref{Fig3}, we have used the following \LaTeX\ code: +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\begin{pspicture}(0,0)(4.125,5.5)!\\ +\verb!\psset{plotpoints=500,algebraic,dotsize=2.5pt,unit=0.5}!\\ +\verb!\RiemannSum{0}{8}{x-(x/2)*cos(x)+2}{16}{0.00+0.50}{0.50+0.50}{0.25+0.50}!\\ +\verb!{x+0.25-((x+0.25)/2)*cos(x+0.25)+2}{x-0.25-((x-0.25)/2)*cos(x-0.25)+2}!\\ +\verb!\psaxes[ticksize=2.2pt,labelsep=4pt]{->}(0,0)(8.5,11)!\\ +\verb!\end{pspicture}! +\end{tabular}\hrule\bigskip + +In the second example below, we will draw an approximation to the integral of $f(x)=x\sin x$ over $[1,9]$. +Choosing $n=10$ and computing parameters needed, we get Figure \ref{Fig4}, mainly by +the command +\begin{align*} +&\textmtt{\symbol{92}RiemannSum\{$1$\}\{$9$\}\{$x\sin x$\}\{$10$\}\{$1.00+0.80$\}\{$1.80+0.80$\}\{$1.40+0.80$\}}\\ +&\textmtt{\{$(x+0.4)\sin(x+0.4)$\}\{$(x-0.4)\sin(x-0.4)$\}} +\end{align*} +in the drawing procedure. +\begin{figure}[htbp] +\centering\begin{pspicture}(0,-2.5)(4.75,4.25) +\psset{plotpoints=500,algebraic,dotsize=1pt 2,unit=0.5} +\RiemannSum{1}{9}{x*sin(x)}{10}% +{1.00+0.80}{1.80+0.80}{1.40+0.80}% +{(x+0.4)*sin(x+0.4)}{(x-0.4)*sin(x-0.4)} +\psaxes[labelFontSize=$\footnotesize$,Dy=1,ticksize=2.2pt,labelsep=4pt]{->}(0,0)(0,-5)(9.5,8.5) +\end{pspicture} +\caption{An approximation to the integral of $f(x)=x\sin x$ over $[1,9]$.}\label{Fig4} +\end{figure} +\section{Drawing the vector field of an ordinary differential equation of order one} +\subsection{Description}\label{sect1} + +Let us consider the differential equation +\begin{equation}\label{eqn2} +\frac{dy}{dx}=f(x,y). +\end{equation} +At each point $(x_0,y_0)$ in the domain $D$ of $f$, we will put a vector $\mathbf{v}$ with slope +$k=f(x_0,y_0)$. If $y(x_0)=y_0$, then $k$ is the slope of the tangent to the solution curve $y=y(x)$ +of (\ref{eqn2}) at $(x_0,y_0)$. The $\mathbf{v}$'s make a \textsl{vector field\/} and the picture +of this field would give us information about the shape of solution curves of (\ref{eqn2}), even +we have not found yet any solution of (\ref{eqn2}). + +The vector field of (\ref{eqn2}) will be depicted on a finite grid of points in $D$. This grid is made of +lines, paralell to the axes $Ox$ and $Oy$. The intersectional points of those lines are called \textsl{grid points\/} +and often indexed by $(x_i,y_j)$, $i=0,\ldots,N_x$, $j=0,\ldots,N_y$. For convenience, we will use +polar coordinates to locate the terminal point $(x,y)$ of a field vector, with the initial point at +grid point $(x_i,y_j)$. Then, we can write +\begin{align*} +x&=x_i+r\cos\varphi,\\ +y&=y_j+r\sin\varphi. +\end{align*} +Because $k=f(x_i,y_j)=\tan\varphi$ is finite, we may take $-\pi/2<\varphi<\pi/2$. +From $\sin^2\varphi+\cos^2\varphi=1$ and $\sin\varphi=k\cos\varphi$, we derive +$$\cos\varphi=\frac{1}{\sqrt{1+k^2}},\quad\sin\varphi=\frac{k}{\sqrt{1+k^2}}.$$ +\begin{figure}[htbp] +\centering\begin{pspicture}(0,0)(5,5) +\psset{unit=2} +\psaxes[labelFontSize=$\footnotesize$,Dx=0.5,Dy=0.5,labels=none,ticksize=2pt,labelsep=2pt,linewidth=0.5pt] +{->}(0,0)(2.5,2.5) +\psdots[dotstyle=*,dotsize=3pt,linecolor=red](1,1)(1.5,1)(1,1.5) +\psline[linewidth=0.3pt](1.5,0.5)(1.5,2)(1,2)(1,0.5)(2,0.5)(2,1.5) +\psline[linewidth=0.3pt](1,1.5)(2,1.5)\psline[linewidth=0.3pt](1,1)(2,1) +\psarc[linewidth=0.5pt,linestyle=dotted,dotsep=1.5pt](1,1){0.5}{-90}{90} +\psarc[linewidth=0.5pt,linestyle=dotted,dotsep=1.5pt](1.5,1){0.5}{-90}{90} +\psarc[linewidth=0.5pt,linestyle=dotted,dotsep=1.5pt](1,1.5){0.5}{-90}{90} +\psline[linewidth=0.8pt,linecolor=red]{->}(1,1.5)(1.27,1.92) +\psline[linewidth=0.8pt,linecolor=red]{->}(1,1)(1.382,1.322) +\psline[linewidth=0.8pt,linecolor=red]{->}(1.5,1)(1.977,1.147) +\rput(1,-0.1){$x_i$}\rput(1.5,-0.1){$x_{i+1}$}\rput(-0.1,1){$y_j$}\rput(-0.2,1.5){$y_{j+1}$} +\end{pspicture} +\caption{Field vectors on a grid.}\label{Fig5} +\end{figure} +The field vectors should all have the same magnitude and we choose here that length to be +$1/2$, that means $r=1/2$. Thus, vectors on the grid have their initial and terminal points as +$$(x_i,y_j),\quad \Big(x_i+\frac{1}{2}\cos\varphi,y_j+\frac{1}{2}\sin\varphi\Big),$$ +respectively. Hence, we easily get the parametrization of a vector at grid point +$(x_i,y_j)$: +\begin{align*} +x&=x_i+\frac{t}{2}\cos\varphi=x_i+\frac{t}{2\sqrt{1+k^2}},\\ +y&=y_j+\frac{t}{2}\sin\varphi=y_j+\frac{tk}{2\sqrt{1+k^2}}, +\end{align*} +where $t$ goes from $0$ to $1$, as along the direction of the vector. + +Of macros in \texttt{PSTricks} to draw lines from their parametrization, we select \texttt{\symbol{92}parametricplot}\footnote{\footnotesize +This macro is of ones, often added and updated in the package \texttt{pstricks-add}, the authors: +Dominique Rodriguez (\texttt{dominique.rodriguez@waika9.com}), Herbert Vo\ss\ (\texttt{voss@pstricks.de}).} +for its fitness. The macro has the syntax +$$\textmtt{\symbol{92}parametricplot[{\it settings}]\{$t_{\rm min}$\}\{$t_{\rm max}$\}\{$x(t)$|$y(t)$\}},$$ +where we may use the option \texttt{algebraic} to make the declaration of $x(t)$ and $y(t)$ simpler +in \texttt{ASCII} code. + +From the above description of one field vector, we now construct the vector field +on a grid within a domain $R=\{(x,y)\colon a\le x\le b,\,c\le y\le d\}$. To determine the grid, we confine grid points to the range +\begin{equation}\label{eqn3} +a\le x_i\le b,\quad c\le y_j\le d. +\end{equation} +We start with initial values $x_0=a$ and $y_0=c$ to have points $(x_i,y_j)$ with increments $\Delta x=\Delta y=\delta$, corresponding to the length of vectors and the distance +between grid points as indicated in Figure \ref{Fig5}. Thus, to draw vectors at grid points +$(x_i,y_j)$, we need two loops for indices $i$ and $j$, with $0\le i\le\lfloor m/\delta\rfloor$, $0\le j\le\lfloor n/\delta\rfloor$, where +$m=b-a$, $n=d-c$. Apparently, these two loops are nested \texttt{\symbol{92}multido}s, with variable declaration +for each loop as follows +\begin{align*} +\texttt{\symbol{92}nx}&=\text{initial value}+\text{increment}=x_0+\Delta x,\\ +\texttt{\symbol{92}ny}&=\text{initial value}+\text{increment}=y_0+\Delta y. +\end{align*} +Finally, we will replace \texttt{\symbol{92}nx}, \texttt{\symbol{92}ny} by $x_i$, $y_j$ in the +below calling sequence for simplicity. + +Thus, the main command to draw the vector field of the equation (\ref{eqn2}) on the grid (\ref{eqn3}) +is +\begin{align*} +&\textmtt{\symbol{92}multido\big\{$y_j=y_0+\Delta y$\big\}\big\{$\lfloor n/\delta\rfloor$\big\}}\textmtt{\bigg\{\symbol{92}multido\big\{$x_i=x_0+\Delta x$\big\}\big\{$\lfloor m/\delta\rfloor$\big\}}\\ +&\quad\textmtt{\Big\{\symbol{92}parametricplot[{\it settings}]\{$0$\}\{$1$\}\Big\{$x_i+\frac{t}{2\sqrt{1+\big[f(x_i,y_j)\big]^2}}$\Big| +$y_j+\frac{tf(x_i,y_j)}{2\sqrt{1+\big[f(x_i,y_j)\big]^2}}$\Big\}\bigg\}} +\end{align*} +where we at least use \texttt{arrows=->} and \texttt{algebraic} for \textit{settings}. + +We can combine the steps mentioned above to define a drawing procedure, say \texttt{\symbol{92}avecfld}, +that consists of $6$ parameters in the order as +\texttt{\symbol{92}nx=}$x_0+\Delta x$, \texttt{\symbol{92}ny=}$y_0+\Delta y$, $\lfloor m/\delta\rfloor$, $\lfloor n/\delta\rfloor$, $\delta$ +and $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$. We may change these values to modify +the vector field or to avoid the vector intersection. Such a procedure is suggested to be +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\def\avecfld#1#2#3#4#5#6{%!\\ +\verb!\multido{#2}{#4}{\multido{#1}{#3}!\\ +\verb!{\parametricplot[algebraic,arrows=->,linecolor=red]{0}{1}!\\ +\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}}}}! +\end{tabular}\hrule\bigskip + +Actually, the procedure \texttt{\symbol{92}parametricplot} is used here only to draw a vector by its parametrization $(x(t),y(t))$, so we can use the structure \texttt{\symbol{92}curvepnodes} in the package \texttt{pst-node}\footnote{\footnotesize +Package authors: Timothy Van Zandt (\texttt{tvz@econ.insead.fr}), Michael Sharpe (\texttt{msharpe@euclid.ucsd.edu}) and Herbert Vo\ss\ (\texttt{hvoss@tug.org}).} to +extract the two ending points of the curve $(x(t),y(t))$ by the command +$$\textmtt{\symbol{92}curvepnodes[algebraic,plotpoints=2]\{0\}\{1\}\{$x(t)$|$y(t)$\}\{P\}},$$ +where \texttt{P} is a name of the root of nodes and we just get the two nodes \texttt{P0}, \texttt{P1} when executing this command. Then, the corresponding +vector is drawn by the command +$$\textmtt{\symbol{92}psline[linecolor={\it settings}]\{->\}(P0)(P1)}$$ + +Therefore, another procedure to draw a vector field may be defined as +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\def\anothervecfld#1#2#3#4#5#6{%!\\ +\verb!\multido{#2}{#4}{\multido{#1}{#3}!\\ +\verb!{\curvepnodes[algebraic,plotpoints=2]{0}{1}!\\ +\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P}!\\ +\verb!\psline[linecolor=red]{->}(P0)(P1)}}}! +\end{tabular}\hrule +\subsection{Examples} +Firstly, we consider the equation that describes an object falling in a resistive medium: +\begin{equation}\label{eqn4} +\frac{dv}{dt}=9.8-\frac{v}{5}, +\end{equation} +where $v=v(t)$ is the speed of the object in time $t$. In Figure \ref{Fig6}, the vector field of (\ref{eqn4}) is given +on the grid $R=\{(t,y)\colon 0\le t\le 9,\,46\le v\le 52\}$, together with the graph of the equilibrium solution +$v=49$. +\begin{figure}[htbp] +\centering\begin{pspicture}(0,41.4)(8.55,47.25) +\psset{xunit=0.9,yunit=0.9} +\multido{\ny=46.25+0.50}{13} +{\multido{\nx=0.25+0.50}{18} +{\curvepnodes[algebraic,plotpoints=2]{0}{1}{\nx+(t/2)*(1/sqrt(1+(9.8-0.2*(\ny))^2))|\ny+(t/2)*(1/sqrt(1+(9.8-(0.2)*(\ny))^2))*(9.8-(0.2)*(\ny))}{P} +\psline[linewidth=0.7pt,linecolor=red]{->}(P0)(P1)}} +\psplot[algebraic,linewidth=1.2pt]{0}{9.25}{49} +\psaxes[labelFontSize=$\footnotesize$,ticksize=2.2pt,labelsep=4pt,Dy=1,Dx=1,Oy=46,linewidth=0.7pt]{->}(0,46)(0,46)(9.5,52.5) +\rput(9.5,45.8){$t$}\rput(-0.2,52.5){$y$} +\end{pspicture} +\caption{The vector field of (\ref{eqn4}).}\label{Fig6} +\end{figure} + +Figure \ref{Fig6} is made of the following \LaTeX\ code: +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\begin{pspicture}(0,46)(9.5,52.5)!\\ +\verb!\anothervecfld{\nx=0.25+0.50}{\ny=46.25+0.50}{18}{12}{0.5}{9.8-0.2*\ny}!\\ +\verb!\psplot[algebraic,linewidth=1.2pt]{0}{9}{49}!\\ +\verb!\psaxes[Dy=1,Dx=1,Oy=46]{->}(0,46)(0,46)(9.5,52.5)!\\ +\verb!\rput(9.5,45.8){$t$}\rput(-0.2,52.5){$y$}!\\ +\verb!\end{pspicture}! +\end{tabular}\hrule\bigskip + +Let us next consider the problem +\begin{equation}\label{eqn5} +\frac{dy}{dx}=x+y,\quad y(0)=0. +\end{equation} +It is easy to check that $y=e^x-x-1$ is the unique solution to (\ref{eqn5}). We now draw +the vector field of (\ref{eqn5}) and the solution curve\footnote{\footnotesize +We have used ${\rm ch}(1)+{\rm sh}(1)$ for the declaration of $e$, natural base of logarithmic function.} on the grid $R=\{(x,y)\colon 0\le x\le 3,\,0\le y\le 5\}$ in +Figure \ref{Fig7}. +\begin{figure}[htbp] +\centering\begin{pspicture}(0,0)(3.25,5.5) +\psset{unit=1} +\multido{\ny=0.25+0.50}{10} +{\multido{\nx=0.25+0.50}{6} +{\curvepnodes[algebraic,plotpoints=2]{0}{1}{\nx+(t/2)*(1/sqrt(1+(\nx+\ny)^2))|\ny+(t/2)*(1/sqrt(1+(\nx+\ny)^2))*(\nx+\ny)}{P} +\psline[linewidth=0.7pt,linecolor=red]{->}(P0)(P1)}} +\psplot[algebraic,linewidth=1.2pt]{0}{2.15}{(sh(1)+ch(1))^x-x-1} +\psaxes[labelFontSize=$\footnotesize$,Dy=1,Dx=1,ticksize=2.2pt,labelsep=4pt,linewidth=0.7pt]{->}(0,0)(3.5,5.5) +\rput(3.5,-0.2){$x$}\rput(-0.25,5.5){$y$} +\end{pspicture} +\caption{The vector field of (\ref{eqn5}).}\label{Fig7} +\end{figure} + +We then go to the logistic equation, which is chosen to be a model for the dependence +of the population size $P$ on time $t$ in Biology: +\begin{equation}\label{eqn6} +\frac{dP}{dt}=kP\Big(1-\frac{P}{M}\Big), +\end{equation} +where $k$ and $M$ are constants, respectively various to selected species and environment. +For specification, we take, for instance, $k=0.5$ and $M=100$. The right hand side of +(\ref{eqn6}) then becomes $f(t,P)=0.5\,P(1-0.01\,P)$. In Figure \ref{Fig8}, we draw the vector field +of (\ref{eqn6}) on the grid $R=\{(t,P)\colon 0\le t\le 10,\,95\le P\le 100\}$ and the equilibrium +solution curve $P=100$. Furthermore, with the initial condition $P(0)=95$, the equation (\ref{eqn6}) +has the unique solution $P=1900(e^{-0.5t}+19)^{-1}$. This solution curve is also given in Figure \ref{Fig8}. +\begin{figure}[htbp] +\centering\begin{pspicture}(0,76)(8.4,80.4) +\psset{xunit=0.8,yunit=0.8} +\multido{\ny=95.25+0.50}{10} +{\multido{\nx=0.25+0.50}{20} +{\curvepnodes[algebraic,plotpoints=2]{0}{1}{\nx+(t/2)*(1/sqrt(1+((0.5)*(\ny)*(1-(0.01)*(\ny)))^2))|\ny+(t/2)*(1/sqrt(1+((0.5)*(\ny)*(1-(0.01)*(\ny)))^2))*((0.5)*(\ny)*(1-(0.01)*(\ny)))}{P} +\psline[linewidth=0.7pt,linecolor=red]{->}(P0)(P1)}} +\psplot[algebraic,linewidth=1.2pt]{0}{10.25}{100} +\psplot[algebraic,linewidth=1.2pt]{0}{10.25}{1900/((ch(1)+sh(1))^(-0.5*x)+19)} +\psaxes[labelFontSize=$\footnotesize$,Dy=1,Dx=1,Oy=95,ticksize=2pt,labelsep=4pt,linewidth=0.7pt]{->}(0,95)(0,95)(10.5,100.5) +\rput(10.5,94.8){$t$}\rput(-0.25,100.5){$P$} +\end{pspicture} +\caption{The vector field of (\ref{eqn6}) with $k=0.5$ and $M=100$.}\label{Fig8} +\end{figure} + +The previous differential equations are all of seperated variable or linear cases that +can be solved for closed-form solutions by some simple integration formulas. We will consider one more +equation of the non-linear case whose solution can only be approximated by numerical methods. +The vector field of such an equation is so useful and we will use the Runge-Kutta curves (of order $4$) +to add more information about the behaviour of solution curves. Here, those Runge-Kutta curves are depicted by the procedure +\texttt{\symbol{92}psplotDiffEqn}, also updated from the package \texttt{pstricks-add}. + +The vector field of the non-linear differential equation +\begin{equation}\label{eqn7} +\frac{dy}{dx}=y^2-xy+1 +\end{equation} +will be depicted on the grid $R=\{(x,y)\colon -3\le x\le 3,\,-3\le y\le 3\}$ and the solutions +of Cauchy problems for (\ref{eqn7}), corresponding to initial conditions +\begin{listof} +\item $y(-3)=-1$, +\item $y(-2)=-3$, +\item $y(-3)=-0.4$, +\end{listof} +will be approximated by the method of Runge-Kutta, with the grid size $h=0.2$. It is very easy +to recognize approximate curves, respective to (i), (ii) and (iii) in Figure \ref{Fig9} below. +\begin{figure}[htbp] +\centering\begin{pspicture}(-3.6,-3.6)(4.2,4.2) +\psset{unit=1.2,dotsize=2.6pt} +\anothervecfld{\nx=-3.00+0.4}{\ny=-3.00+0.4}{16}{16}{0.35}{(\ny)^2-(\nx)*(\ny)+1} +\psplotDiffEqn[linewidth=1.2pt,algebraic,showpoints=true,plotpoints=24,method=rk4]{-3}{1.9}{-1}{(y[0])^2-x*y[0]+1} +\psplotDiffEqn[linewidth=1.2pt,algebraic,showpoints=true,plotpoints=25,method=rk4]{-2}{3}{-3}{(y[0])^2-x*y[0]+1} +\psplotDiffEqn[linewidth=1.2pt,algebraic,showpoints=true,plotpoints=10,method=rk4]{-3}{-0.96}{-0.4}{(y[0])^2-x*y[0]+1} +\psaxes[labelFontSize=$\footnotesize$,Dy=1,Dx=1,ticksize=2.2pt,labelsep=4pt,linewidth=0.7pt]{->}(0,0)(-3,-3)(3.5,3.5) +\rput(3.5,-0.2){$x$}\rput(-0.25,3.5){$y$} +\end{pspicture} +\caption{The vector field of (\ref{eqn7}) and the Runge-Kutta curves.}\label{Fig9} +\end{figure} +\subsection{Remarks on how to color arrows properly for a vector field} +There remains a problem in drawing a vector field. That is coloring arrows. +Obviously, their color shade should vary according to their slope and this would give us the picture of domains containing +increase or decrease solutions of a differential equation. In some cases, we even know how large the rate of change of those +solutions is in a specific domain. + +In Subsection \ref{sect1}, we know for the equation (\ref{eqn2}) that $f(x_i,y_j)$ is right the slope of +field vectors at grid points $(x_i,y_j)$, and we will divide these slopes into some number of scales, corresponding to the +degree of color shades. Here, we confine our interest to a continuous function $f(x,y)$ in two independent variables on a domain +$R=\{(x,y)\colon a\le x\le b,\,c\le y\le d\}$ and choose the scale of $10$ degrees. This number of degrees can be changed to any positive integer. + +According to the input data from the differential equation (\ref{eqn2}), the set $R$ and the grid points on it and the value $M=\max\{|f(x_i,y_j)|\colon +0\le i\le\lfloor m/\Delta x\rfloor,\,0\le j\le\lfloor n/\Delta y\rfloor\}$, where $m=b-a$ and $n=d-c$, +we can now define the degree of color shade for each arrow in our vector field. It should be an integer $n_{ij}$ such that +$n_{ij}=\lfloor 10|f(x_i,y_j)|/M\rfloor$, that is +\begin{equation}\label{eqn8}n_{ij}M\le 10|f(x_i,y_j)|<(n_{ij}+1)M.\end{equation} +For finding such an integer, in \TeX\ codes, we need one \texttt{\symbol{92}newcount} for it and two \texttt{\symbol{92}newdimen} for +$f(x_i,y_j)$ and intermediate values to be compared with $|f(x_i,y_j)|$. For more explanation, let us begin with settings +\texttt{\symbol{92}newcount\symbol{92}intg} (referring (ref.) to ``integer''), \texttt{\symbol{92}newdimen\symbol{92}slope} (ref. to ``slope'') and \texttt{\symbol{92}newdimen\symbol{92}interm} +(ref. to ``intermediate values''). Then, the integer $n_{ij}$ at stage $(i,j)$ within the two \texttt{\symbol{92}multido} loops can be defined by the recursive macro \texttt{\symbol{92}fintg} (ref. to ``find the integer'') as follows +\begin{verbatim} + \def\fintg{\interm=Mpt \interm=\intg\interm% + \ifdim\ifdim\slope<0pt -\fi\slope<\interm\advance\intg by -1\relax + \else\advance\intg by 1\fintg\fi} +\end{verbatim} +where \texttt{M} and \texttt{\symbol{92}slope} are holding the values $M$ and $f(x_i,y_j)$, respectively. Note that, before running our macro, \verb!\slope! should be multiplied +by $10$ with the assignment \texttt{\symbol{92}slope=10\symbol{92}slope}, as defined in (\ref{eqn8}). Besides, by simulating the expression of $f(x,y)$, the calculation of $f(x_i,y_j)$ +should be declared with operations on \texttt{\symbol{92}newcount}s and \texttt{\symbol{92}newdimen}s. Then, the integer $n_{ij}$, which is found at stage $(i,j)$, should take its +degree, say $k$, from $0$ to $10$ by its value, suitably associated to the command \textmtt{\symbol{92}psline[linecolor=red!case-k]\{->\}(P0)(P1)}. +Here, we choose \texttt{red} for the main color (it can be changed, of course), and \texttt{case-k} will be replaced with an appropriate percentage of \texttt{red}. Finally, +such a color scale is local and relative, so we can use one more parameter in the procedure to adjust color shades. +The old procedures take $6$ parameters and the new one will take two more parameters: one for declaration of computing $f(x_i,y_j)$ and the other +for adjusting color shades. + +Let us take some examples on how to compute $f(x_i,y_j)$ by \TeX\ codes or by commands from the package \texttt{calculator}\footnote{\footnotesize +Package author: Robert Fuster (\texttt{rfuster@mat.upv.es}).}. For a simple polynomial $f(x,y)$, +computing $f(x_i,y_j)$ by \TeX\ codes might be facile. Because \verb!\nx! and \verb!\ny! are respectively holding values of +$x_i$ and $y_j$, we need the two corresponding variables \verb!\newdimen\fx! and \verb!\newdimen\fy! to take these values. By assigning \verb!\fx=\nx pt\fy=\ny pt!, +we compute $f(\verb!\nx!,\verb!\ny!)$ and assign its value to \verb!\slope!. The declaration of calculations for some cases of $f(x,y)$ is given in the following table. + +\begin{table}[htbp] +\centering\begin{tabular}{c|l} +$f(x,y)$&\multicolumn{1}{c}{\TeX\ codes for computing $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$} \\ \hline +$x+y$&\verb!\advance\slope by \fx \advance\slope by \fy!\\ \hline +$1-xy$&\verb!\advance\slope by -\decimal\fx\fy \advance\slope by 1pt!\\ \hline +$y(3-y)$&\verb!\advance\slope by -\decimal\fy\fy \advance\slope by 3\fy!\\ \hline +$y^2-xy$&\verb!\advance\slope by \decimal\fy\fy \advance\slope by -\decimal\fx\fy!\\ \hline +\end{tabular} +\end{table} +In the table, the command \verb!\decimal!, which is quotative from \cite{five} for producing decimal numbers from dimensions, is put in the preamble using a definition as +\begin{verbatim} + \def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} + \xch \def\dec#1pt{#1}\ych \def\decimal#1{\expandafter\dec \the#1} +\end{verbatim} + +For a transcendental or rational function $f(x,y)$, we may use the package \texttt{calculator} for +computing $f(x_i,y_j)$. The following table shows how to perform calculations. +\begin{table}[htbp] +\centering\begin{tabular}{c|l} +$f(x,y)$&\multicolumn{1}{c}{The commands from the package \texttt{calculator} for computing $f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$} \\ \hline +$\sin(y-x)$&\verb!\SUBTRACT{\ny}{\nx}{\sola}\SIN{\sola}{\solb}\slope=\solb pt!\\ \hline +\raisebox{-2ex}[0pt][0pt]{$2xy/(1+y^2)$}&\verb!\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}!\\ +&\verb!\Fncty{\ny}{\soly}{\Dsoly}\DIVIDE{\Dsoly}{\soly}{\tempa}!\\ +&\verb!\MULTIPLY{\nx}{\tempa}{\tempb}\slope=\tempb pt!\\ \hline +\end{tabular} +\end{table} + +From the old macros \verb!\avecfld! or \verb!\anothervecfld!, we will construct the new one \verb!\vecfldnew! by adding up to the former the two parameters as described above. According to +the description of new parameters and of known ones, the calling sequence of \verb!\vecfldnew! may have the form of +$$\textmtt{\symbol{92}vecfldnew\{\symbol{92}nx$=x_0+\Delta x$\}\{\symbol{92}ny$=y_0+\Delta y$\}\{$n_x$\}\{$n_y$\}\{$\ell$\}\{$f(\texttt{\symbol{92}nx},\texttt{\symbol{92}ny})$\}\{{\rm\TeX\ codes}\}\{$n_a$\}}$$ +where $n_a$ is an estimate value for $M$ and can be adjusted to be greater or less than $M$. This flexible mechanism might be to increase or decrease the degree of +color shades. Finally, \verb!\intg! and \verb!\slope! should be reset to +zero at the end of each stage. Now, all materials to make the new macro are ready, and its definition is suggested to be +\bigskip\hrule +\noindent\begin{tabular}{@{}l} +\verb!\def\vecfldnew#1#2#3#4#5#6#7#8{%!\\ +\verb!\newcount\intg \newdimen\slope \newdimen\interm \newdimen\fx \newdimen\fy!\\ +\verb!\def\fintg{\interm=#8 \interm=\intg\interm%!\\ +\verb! \ifdim\ifdim\slope<0pt -\fi\slope>\interm \advance\intg by 1\fintg\fi}!\\ +\verb!\multido{#2}{#4}!\\ +\verb!{\multido{#1}{#3}!\\ +\verb!{\curvepnodes[algebraic,plotpoints=2]{0}{1}!\\ +\verb!{\nx+((#5)*t)*(1/sqrt(1+(#6)^2))|\ny+((#5)*t)*(1/sqrt(1+(#6)^2))*(#6)}{P}!\\ +\verb!#7\slope=10\slope \fintg \ifnum\intg>10\psline[linecolor=red]{->}(P0)(P1)!\\ +\verb+\else\ifnum\intg=0\psline[linecolor=red!5]{->}(P0)(P1)+\\ +\verb+\else\multiply\intg by 10\psline[linecolor=red!\the\intg]{->}(P0)(P1)\fi\fi+\\ +\verb+\intg=0\slope=0pt+\\ +\verb+}}}+ +\end{tabular}\hrule\bigskip + +If we predefine some scale of degrees, instead of the code $\verb!\ifnum\intg>10!\ldots\verb!\fi\fi!$, the structure \verb!\ifcase! can be used as +$$\begin{array}{c} +\verb!\ifcase\intg!\\ +\verb+\psline[linecolor=red!5]{->}(P0)(P1)\or+\\ +\verb+\psline[linecolor=red!10]{->}(P0)(P1)\or+\\ +\vdots\\ +\verb!\psline[linecolor=red]{->}(P0)(P1)\fi! +\end{array}$$ + +The first example is given with two values of $n_a$ to see how different the color shades are between the two cases. The left vector field in Figure \ref{Fig10} +is made of the calling sequence +\begin{verbatim} +\vecfldnew{\nx=-2.00+0.3}{\ny=-2.00+0.3}{14}{14}{0.3}{(\nx)-2*(\ny)} +{\fy=\ny pt \fx=\nx pt \advance\slope by -2\fy \advance\slope by \fx}{7pt} +\end{verbatim} +\begin{figure}[htbp] +\centering\includegraphics[width=4.6cm]{vecb5} +\hskip1cm\includegraphics[width=4.6cm]{vecb6} +\caption{The vector fields of the equation $y'=x-2y$ with $n_a=\texttt{7pt}$ (the left) and $n_a=\texttt{4pt}$ (the right)}\label{Fig10} +\end{figure} + +In Figure \ref{Fig11}, the vector fields of the equations $y'=y-x$ and $y'=x(2-y)$ are respectively drawn by the calling sequences +\begin{verbatim} +\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{(\ny)-(\nx)} +{\fy=\ny pt \fx=\nx pt \advance\slope by -\fx \advance\slope by \fy}{5pt} +\end{verbatim} +and +\begin{verbatim} +\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{(\nx)*(2-(\ny))} +{\fy=\ny pt \fx=\nx pt \advance\slope by -\decimal\fx\fy +\advance\slope by 2\fx}{6pt} +\end{verbatim} +\begin{figure}[htbp] +\centering\includegraphics[width=6.2cm]{vecb3} +\hskip1cm\includegraphics[width=6.2cm]{vecb4} +\caption{The vector fields of the equation $y'=y-x$ (the left) and $y'=x(2-y)$ (the right).}\label{Fig11} +\end{figure} + +Finally, we consider two more examples on vector fields of differential equations $y'=f(x,y)$ containing trigonometric or rational functions on their right side. The calling sequences +\begin{verbatim} +\vecfldnew{\nx=-3.00+0.4}{\ny=-3.00+0.4}{15}{15}{0.35}{sin(\nx)*cos(\ny)} +{\SIN{\nx}{\tmpa}\COS{\ny}{\tmpb}\MULTIPLY{\tmpa}{\tmpb}{\tmpc} +\slope=\tmpc pt}{0.6pt} +\end{verbatim} +and +\begin{verbatim} +\vecfldnew{\nx=-3.00+0.3}{\ny=-3.00+0.3}{20}{20}{0.3}{2*(\nx)*(\ny)/(1+(\ny)^2)} +{\SUMfunction{\ONEfunction}{\SQUAREfunction}{\Fncty}\Fncty{\ny}{\soly}{\Dsoly} +\DIVIDE{\Dsoly}{\soly}{\tempa}\MULTIPLY{\nx}{\tempa}{\tempb} +\slope=\tempb pt}{2.5pt} +\end{verbatim} +respectively result in the vector fields on the left and on the right in Figure \ref{Fig12}. + +\begin{figure}[htbp] +\centering\includegraphics[width=6.2cm]{vecb1} +\hskip1cm\includegraphics[width=6.2cm]{vecb2} +\caption{The vector fields of the equation $y'=\sin(x)\cos(y)$ (the left) and $y'=2xy/(1+y^2)$ (the right).}\label{Fig12} +\end{figure} +\section{Drawing partitions of a simply connected plane domain} +\subsection{Description} +B\'{e}zier curves have been used in many different aspects, but mostly in computer graphics to model smooth curves designed by computer +programs. We just recall here the vector function of a B\'{e}zier curve of degree $n$ with $n+1$ control points whose position +vectors are $\mathbf{r}_0$, $\mathbf{r}_1$, \dots, $\mathbf{r}_n$. It is the vector function $\mathbf{r}(t)$ in a real variable $t\in[0,1]$ that +is defined as +\begin{equation}\label{eqn9} +\mathbf{r}(t)=\sum_{i=0}^n\binom{n}{i}t^i(1-t)^{n-i}\mathbf{r}_i. +\end{equation} +Since $\mathbf{r}(0)=\mathbf{r}_0$, $\mathbf{r}(1)=\mathbf{r}_n$ and $\mathbf{r}'(0)=n(\mathbf{r}_1-\mathbf{r}_0)$, $\mathbf{r}'(1)=n(\mathbf{r}_n-\mathbf{r}_{n-1})$, +we can take a curve such that it is closed and tangent to a line $(\Delta)$ at the point whose position vector is $\mathbf{r}_0$, by +letting $\mathbf{r}_n=\mathbf{r}_0$ and the points whose position vectors are $\mathbf{r}_0$, $\mathbf{r}_1$ and $\mathbf{r}_{n-1}$ +all be on the line $(\Delta)$. + +Taking a closed B\'{e}zier curve to be the boundary of a plane domain has the great advantage. That is because coordinates of points +on the curve are evaluated by polynomials, and the curve has necessary smoothness, beautiful enough for graphic illustrations. +\texttt{PSTricks} has the procedure \verb!\parametricplot! to draw such a curve. But, an important problem here is how to control +the coordinates of its points to construct a procedure for drawing a partition of a simply connected plane domain and coloring +(or marking) its cells having common points with the boundary of the domain. We particularly need such a procedure for illustrations +of essential notions in measure theory or double integral definition. Because of the limitation in accuracy imposed +by the \TeX\ arithmetic, we should mention about $2$-dimension vector functions of a B\'{e}zier curve of small degree (in fact, as small as possible). +According to the above requirements for the closed boundary of a simply connected domain, we will design a family of closed B\'{e}zier curves of +degree $6$, although we may extend their degree to $12$. + +From the expression of $\mathbf{r}(t)$ in (\ref{eqn9}), we will construct the following functions and procedures: +\begin{itemize} +\item The factorial function \texttt{FACTORIAL}. +\item The binomial function \texttt{BINOMIAL}. +\item Polynomials $t^m(1-t)^n$. +\item A procedure to compute a sum of $7$ terms: values of $\mathbf{r}(t)$ as linear combinations +of the Bernstein polynomials +$$\binom{6}{k}t^k(1-t)^{6-k},\quad k=0,\ldots,6.$$ +\end{itemize} +These functions and procedures are macros given by definitions with or without parameters. In the following subsections we will construct them step by step and +show how to make connections between them. +\subsubsection{Factorial functions and binomial coefficients} +To obtain the factorial function, a procedure for multiplying consecutively an integer $n$ with its diminished values will be constructed. For the declared +integer variables \verb!\Fa! and \verb!\Fct!, the latter will hold values of the function, and the former will hold factors that are multiplied consecutively +and reduced by $1$. Namely, if \verb!\Fa! is $0$ or $1$ then \verb!\Fct! takes $1$; else if $\texttt{\symbol{92}Fa}>1$ then \verb!\Fct! takes +the initial value of \verb!\Fa! to begin a loop: diminishing \verb!\Fa! by $1$ and updating \verb!\Fct! by multiplying its old value with the new value of \verb!\Fa!. +The loop is defined by the control sequence \verb!\Factor! and is ended when \verb!\Fa! is diminished to $1$; then, the factorial function obtains its value from +the one given back after calling \verb!\FACTORIAL! with one parameter. +\begin{verbatim} +\newcount\Fa\newcount\Fct +\newcount\tempA +\def\Factor{\ifnum\Fa=1\relax\else\advance\Fa by -1\multiply\Fct by \Fa\Factor\fi} +\def\FACTORIAL#1{\Fa=#1 \ifnum\Fa=0 \Fct=1\relax\else\Fct=\Fa \Factor\fi% +\global\tempA=\Fct} +\end{verbatim} +Since \TeX\ limits the largest integer number to $2^{30}-1$, we can evaluate only to +$$\textmtt{\symbol{92}FACTORIAL\{$12$\}}=12!=479001600.$$ +Besides, the last value of \verb!\Fct!, which is right the one obtained from calling the function, is assigned to a global integer variable \verb!\tempA! for use +in other procedures. Finally, make the calling sequence +$$\textmtt{\symbol{92}FACTORIAL\{k\}\symbol{92}the\symbol{92}Fct}$$ +to obtain and show up the value of $k!$. From these values we derive binomial coefficients by the formula +$$\binom{m}{n}=\frac{m!}{n!(m-n)!}.$$ +A simple procedure that makes division of $m!$ by $n!$, then of the result by $(m-n)!$ can be performed by the control sequence +\verb!\BINOMIAL! with two parameters as follows +\begin{verbatim} +\newcount\BINOM +\newcount\temp\newcount\tmp +\def\BINOMIAL#1#2{% +\temp=#1\advance\temp by -#2 +\FACTORIAL{#1} +\tmp=\tempA +\FACTORIAL{\temp} +\temp=\tempA +\divide\tmp by \temp +\FACTORIAL{#2} +\temp=\tempA +\divide\tmp by \temp\global\BINOM=\tmp} +\end{verbatim} +Again, the last value of \verb!\tmp! is assigned to a global integer variable \verb!\BINOM! for later use. Because the vector function of a B\'{e}zier +curve of degree $6$ is only needed, so are the binomial coefficients \verb!\BINOMIAL{!$6$\verb!}{!$k$\verb!}!, $k=0,1,\ldots,6$. +\subsubsection{Bernstein polynomials} +The construction of Bernstein functions is based on an iterative multiplication of the same value $t$ by a given number $m$ of times, +then the process is repeated with the value $1-t$ by a given number $n$ of times. The last result is multiplied by a variable that holds +the value of $\binom{m+n}{m}$. We will use an integer variable \verb!\kc! to count times of multiplication for the same factor $t$ or $1-t$. +The procedure of iterative multiplication \verb!\xmult! with one parameter $m$ or $n$ is a recursive one that is performed +iteratively until \verb!\kc! reaches the value $m$ or $n$. +\begin{verbatim} +\newdimen\Xa\newdimen\Yb\newcount\kc +\def\xmult#1{\ifnum\kc<#1\advance\kc by 1\Yb=\decimal\Xa\Yb\xmult{#1} + \else\relax\fi} +\end{verbatim} +Finally, the value of $t^m(1-t)^n$ that is hold by the variable \verb!\Yb! is multiplied by \verb!\BINOM!, the value $\binom{6}{m}$. +Thus, Bernstein polynomials are given by the following macro \verb!\BERNSTEIN! with three parameters that hold values of +$m$, $n$ and $t$, respectively. +\begin{verbatim} +\newdimen\BSTemp +\def\BERNSTEIN#1#2#3{\Xa=#3pt\kc=0\Yb=1pt\xmult{#1}\kc=0\Xa=-\Xa +\advance\Xa by 1pt\xmult{#2}\BINOMIAL{6}{#1}\global\BSTemp=\BINOM\Yb} +\end{verbatim} +Also, values of \verb!\BERNSTEIN! are assigned to a global variable. +\subsubsection{Vector functions of a plane B\'{e}zier curve of degree $6$} +We will construct here the vector function of a plane and closed B\'{e}zier curve with the control points +$M_0(x_0,y_0)$, $M_1(x_1,y_1)$, \dots, $M_6(x_6,y_6)$ that is chosen in such a way that the curve is tangent to +a line $(\Delta)$ at its initial point $M_0$. According to the mentioned properties of a B\'{e}zier curve, the requirements +for the curve are satisfied when $M_6=M_0$ and $M_0$, $M_1$, $M_5$ are all on the line $(\Delta)$. +\begin{figure}[htbp] +\centering\begin{pspicture}(0,0)(5,4.3) +\psset{unit=0.6cm} +\newcount\pos\def\drawpts#1#2{\newdimen\xrp\xrp=2pt\newdimen\yrp\yrp=2pt\advance\xrp by #1pt\advance\yrp by #2pt\psdot(\decimal\xrp,\decimal\yrp) +\rput[rt](\decimal\xrp,\decimal\yrp){$M_{\the\pos}$}\advance\pos by 1} +\drawpts{0}{0}\drawpts{-1.5}{2}\drawpts{2}{5}\drawpts{6}{3}\drawpts{5}{-1}\drawpts{1.5}{-2} +\parametricplot[algebraic,linewidth=0.5pt]{0}{0.5}{\XBsix{2}{1}|\YBsix{2}{1}} +\parametricplot[algebraic,linewidth=0.5pt]{0.5}{1}{\XBsix{2}{1}|\YBsix{2}{1}} +\psline[linewidth=0.2pt](0.5,4)(3.5,0) +\end{pspicture} +\caption{A B\'{e}zier curve of degree $6$ with the required control points.}\label{Fig13} +\end{figure} +In case $n=6$, from (\ref{eqn9}) we derive the vector function $\mathbf{r}(t)$ with the two components +\begin{equation}\label{eqn10} +X(t)=\sum_{i=0}^6\binom{6}{i}t^i(1-t)^{6-i}x_i,\quad Y(t)=\sum_{i=0}^6\binom{6}{i}t^i(1-t)^{6-i}y_i. +\end{equation} +We first evaluate values of $X(t)$ by the procedures that just have been constructed, with a choice of $x_i$, $i=1,\ldots,6$, from a given $x_0$ +and the requirements of the B\'{e}zier curve as in Figure \ref{Fig13}. For example, we may take +$$x_1=x_0-1.5,\quad x_2=x_0+2,\quad x_3=x_0+6,\quad x_4=x_0+5,\quad x_5=x_0+1.5,\quad x_6=x_0.$$ +Moreover, we may change the shape of the curve by taking a factor $\alpha$ for $X(t)$. In short, we will make a procedure to evaluate the sum of terms +$\binom{6}{i}t^i(1-t)^{6-i}(\alpha x_i)$, $i=0,1,\ldots,6$. In fact, it is a procedure to add up values into a global variable \verb!\XBST! that is called +by a macro \verb!\XBC! with three declaring parameters for $x_i$, $t$ and $\alpha$. The value of $\alpha$ is used last when being multiplied by a +variable that holds $X(t)$. Such a procedure is suggested to be the following macro +\begin{verbatim} +\newdimen\Xrf\newdimen\Yrf +\newdimen\XBST\newdimen\YBST +\def\XBC#1#2#3{% +\BERNSTEIN{0}{6}{#2} +\Xrf=#1pt +\XBST=\decimal\BSTemp\Xrf +\BERNSTEIN{1}{5}{#2} +\Xrf=#1pt\advance\Xrf by -1.5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{2}{4}{#2} +\Xrf=#1pt\advance\Xrf by 2pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{3}{3}{#2} +\Xrf=#1pt\advance\Xrf by 6pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{4}{2}{#2} +\Xrf=#1pt\advance\Xrf by 5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{5}{1}{#2} +\Xrf=#1pt\advance\Xrf by 1.5pt +\advance\XBST by \decimal\BSTemp\Xrf +\BERNSTEIN{6}{0}{#2} +\Xrf=#1pt +\advance\XBST by \decimal\BSTemp\Xrf +\global\XBST=#3\XBST} +\end{verbatim} +In the macro, a control sequence of the form \verb!\decimal\Xdim! is for obtaining the decimal value of a variable \verb!\Xdim! without units +(\verb!pt!, by default). This can be defined by +\begin{verbatim} +\def\xch{\catcode`\p=12 \catcode`\t=12}\def\ych{\catcode`\p=11 \catcode`\t=11} +\xch \def\dec#1pt{#1}\ych \gdef\decimal#1{\expandafter\dec \the#1} +\end{verbatim} +Besides, the last line in the definition of \verb!\XBC! (\verb!\global\XBST=#3\XBST!) signifies \verb!\XBST! is adjusted for multiplication by +$\alpha$ when holding the current value of the sum $X(t)$. In Table \ref{bc-Table1}, some values +of \verb!\XBC! are compared with those of a simpler procedure in Maple\footnote{\footnotesize Maple +is a computer algebra system. It was first developed in 1980 by the Symbolic Computation Group at the University of +Waterloo in Waterloo, Ontario, Canada. Maple supports numeric and symbolic computations +and can be used as a programming language, which resembles Pascal.}. +\begin{table}[htbp] +\centering\begin{tabular}{|c|c|c|c|c|c|}\hline +&$(-2.4,0.23,1.5)$&$(4.2,0.45,1.1)$&$(-3.4,0.7,1.24)$&$(-0.89,0.4,1.5)$&$(5.21,0.5,2.15)$\\ \hline +\texttt{\symbol{92}XBC}&$\XBC{-2.4}{0.23}{1.5}\decimal\XBST$&$\XBC{4.2}{0.45}{1.1}\decimal\XBST$&$\XBC{-3.4}{0.7}{1.24}\decimal\XBST$&$\XBC{-0.89}{0.4}{1.5}\decimal\XBST$&$\XBC{5.21}{0.5}{2.15}\decimal\XBST$\\ \hline +Maple&$-2.41044$&$8.13235$&$-0.13696$&$2.78628$&$18.76008$\\ \hline +\end{tabular} +\caption{A comparison between some values of \textmtt{\symbol{92}XBC} and those of a procedure in Maple.}\label{bc-Table1} +\end{table} + +Likewise, from a given $y_0$, we may have a choice of $y_i$, $i=1,\ldots,6$, as follows +$$y_1=y_0+2,\quad y_2=y_0+5,\quad y_3=y_0+3,\quad y_4=y_0-1,\quad y_5=y_0-2,\quad y_6=y_0.$$ +The macro \verb!\YBC! is constructed in a quite analogous way as for \verb!\XBC! to evaluate values of $Y(t)$ in (\ref{eqn10}), +and the value $\beta Y(t)$ ($\beta$ is again an adjustment factor) is hold by a global variable \verb!\YBST!. + +\subsubsection{Partition of a simply connected plane domain by a rectangular grid} + +We consider here a simply connected plane domain $D$ surrounded by a B\'{e}zier curve of degree $6$ that will be depicted by +the procedure \verb!\NetDraw!. This is called together with its five parameters whose values are assigned to the five local variables +with their following meaning: +\begin{align*} +\texttt{\symbol{92}CellNum:}&\text{ The number of horizontal and vertical cells of the grid.}\\ +\texttt{\symbol{92}Xref:}&\text{ The value of $x_0$.}\\ +\texttt{\symbol{92}Yref:}&\text{ The value of $y_0$.}\\ +\texttt{\symbol{92}Xfact:}&\text{ The value of $\alpha$.}\\ +\texttt{\symbol{92}Yfact:}&\text{ The value of $\beta$.} +\end{align*} +We denote by $R$ a rectangular domain containing $D$ and having edges parallel to the coordinate axes. +A grid of rectangular cells will be depicted on $R$. According to the given values of $x_0$, $y_0$, $\alpha$ and $\beta$, the vertices of $R$ +can be chosen as the points $(\verb!\XMin!,\verb!\YMax!)$, $(\verb!\XMax!,\verb!\YMax!)$, $(\verb!\XMax!,\verb!\YMin!)$, $(\verb!\XMin!,\verb!\YMin!)$, where +\begin{align*} +\textmtt{\symbol{92}XMin}&=\alpha(\textmtt{\symbol{92}Xref}-1.5),&&\textmtt{\symbol{92}XMax}=\alpha(\textmtt{\symbol{92}Xref}+6),\\ +\textmtt{\symbol{92}YMin}&=\beta(\textmtt{\symbol{92}Yref}-2),&&\textmtt{\symbol{92}YMax}=\beta(\texttt{\symbol{92}Yref}+5). +\end{align*} +Then, the horizontal step size \verb!\Xsize! and the vertical step +size \verb!\Ysize! may be taken as +$$\mtt\\\texttt{Xsize}=\frac{\mtt\\\texttt{XMax}-\mtt\\\texttt{XMin}}{\mtt\\\texttt{CellNum}},\quad +\mtt\\\texttt{Ysize}=\frac{\mtt\\\texttt{YMax}-\mtt\\\texttt{YMin}}{\mtt\\\texttt{CellNum}}.$$ + +At first, the grid is made by using the structure \verb!\multido! to draw vertical and horizontal lines whose equations are +$$x=\texttt{\symbol{92}XMin}+i\texttt{\symbol{92}Xsize},\quad +y=\texttt{\symbol{92}YMin}+i\texttt{\symbol{92}Ysize},\quad i=0,\ldots,\texttt{\symbol{92}CellNum}.$$ +Next, the B\'{e}zier curve is depicted by the command +$$\textmtt{\symbol{92}parametricplot[algebraic,fillstyle=solid]\{$0$\}\{$1$\}\{$\alpha X(t)$|$\beta Y(t)$\}}$$ +and it is approximated by the sequence of points $(X_i,Y_i)$, $i=1,\ldots,N$, where $X_i$ and $Y_i$ are given from +the calling sequences +$$\textmtt{\symbol{92}XBC\{\symbol{92}XRef\}\{$t_i$\}\{\symbol{92}Xfact\}},\quad +\textmtt{\symbol{92}YBC\{\symbol{92}YRef\}\{$t_i$\}\{\symbol{92}Yfact\}}.$$ + +Finally, the most important algorithm is to determine cells that have points in common with the B\'{e}zier curve, +and to color them. The chosen ``filter'' method here can be described as follows: for each point $(X_i,Y_i)$ of the approximate sequence, +$i=1,\ldots, N$, we examine cells from left to right in horizontal direction, and from below to above in vertical direction. As soon as +being found, the cell containing $(X_i,Y_i)$ is specifically colored by the command \textmtt{\mtt\\pspolygon[fillstyle=solid,$\ldots$]} passing its four +vertices; then, we examine the next point $(X_{i+1},Y_{i+1})$, and so on. Actually, a structure of three nested \verb!\multido! loops +is used to perform this filter method, and the loop for counting points $(X_i,Y_i)$ is the most outer one. The algorithm to examine if +a cell contains $(X_i,Y_i)$ may have the form of +\begin{verbatim} + \ifdim\YBSTy\relax\else + \ifdim\XBSTx\relax\else + \pspolygon[fillstyle=solid,fillcolor=red] + (x,y)(x+\Xsize,y)(x+\Xsize,y+\Ysize)(x,y+\Ysize)(x,y)\relax + \fi\fi\fi\fi +\end{verbatim} +The single characters ``\verb!x!'', ``\verb!y!'' and the opertation ``\verb!+!'' will be replaced appropriately in the procedure \verb!\NetDraw! below. +For increasingly chosen values of $N$, we may know if the set of cells having points in common with the curve can cover the curve itself? +On the other hand, to increase the number of approximate points is corresponding to reduce the increment in the most outer loop \verb!\multido!. +For instance, if we take $N=100$, then the variable \verb!\nz! in the loop should be declared as $\texttt{\mtt\\nz}=0.00+0.01$ because +$t_i\in[0,1]$. + +In summary, to illustrate a partition of a simply connected plane domain, we can apply the following procedure \verb!\NetDraw!. As mentioned above, +step by step, \verb!\NetDraw! can: draw the boundary of a plane domain $D$ by a B\'{e}zier curve of degree $6$, draw a partition of a rectangle $R$ containing $D$ +by a grid of rectangular cells, and color cells having points in common with the boundary of $D$. +\bigskip +%\vskip2ex +\hrule +\begin{verbatim} +\def\NetDraw#1#2#3#4#5{% +\newcount\CellNum +\newdimen\XRef +\newdimen\YRef +\newdimen\Xfact +\newdimen\Yfact +\newdimen\XMin +\newdimen\XMax +\newdimen\YMin +\newdimen\YMax +\newdimen\Xsize +\newdimen\Ysize +\newdimen\tempx +\newdimen\tempy +\CellNum=#1 +\XRef=#2pt +\YRef=#3pt +\Xfact=#4pt +\Yfact=#5pt +\XMin=\decimal\Xfact\XRef \advance\XMin by -1.50\Xfact +\XMax=\decimal\Xfact\XRef \advance\XMax by 6.00\Xfact +\YMin=\decimal\Yfact\YRef \advance\YMin by -2.00\Yfact +\YMax=\decimal\Yfact\YRef \advance\YMax by 5.00\Yfact +\Xsize=\XMax \advance\Xsize by -\XMin \divide\Xsize by \CellNum +\Ysize=\YMax \advance\Ysize by -\YMin \divide\Ysize by \CellNum +\parametricplot[algebraic,fillstyle=solid,fillcolor=yellow!80,plotpoints=200, +linewidth=0.5pt]{0}{1}{\XBsix{\decimal\XRef}{\decimal\Xfact}| +\YBsix{\decimal\YRef}{\decimal\Yfact}} +\multido{\nz=0.00+0.005}{200}{\XBC{\decimal\XRef}{\nz}{\decimal\Xfact} +\YBC{\decimal\YRef}{\nz}{\decimal\Yfact} +\multido{\nx=\decimal\XMin+\decimal\Xsize}{\the\CellNum} +{\tempx=\nx pt\multido{\ny=\decimal\YMin+\decimal\Ysize}{\the\CellNum} +{\tempy=\ny pt\ifdim\YBST<\tempy\relax\else\advance\tempy by \Ysize% + \ifdim\YBST>\tempy\relax\else + \ifdim\XBST<\tempx\relax\else\advance\tempx by \Xsize + \ifdim\XBST>\tempx\relax\else + \pspolygon[fillstyle=solid,fillcolor=blue!90,linecolor=black, + linewidth=0.2pt] + (\nx,\ny)(\decimal\tempx,\ny)(\decimal\tempx,\decimal\tempy) + (\nx,\decimal\tempy)(\nx,\ny)\relax\fi\fi\fi\fi} +}} +\advance\CellNum by 1 +\multido{\nx=\decimal\XMin+\decimal\Xsize}{\the\CellNum} +{\psline[linewidth=0.2pt](\nx,\decimal\YMax)(\nx,\decimal\YMin)} +\multido{\ny=\decimal\YMin+\decimal\Ysize}{\the\CellNum} +{\psline[linewidth=0.2pt](\decimal\XMin,\ny)(\decimal\XMax,\ny)} +\parametricplot[algebraic,linecolor=white,plotpoints=200,linewidth=0.5pt]{0}{1} +{\XBsix{\decimal\XRef}{\decimal\Xfact}|\YBsix{\decimal\YRef}{\decimal\Yfact}}} +\end{verbatim}\hrule\bigskip + +In the definition of \verb!\NetDraw!, the expressions $\alpha X(t)$, $\beta Y(t)$ are declared in the \verb!algebraic! form by the macros \verb!\XBsix!, +\verb!\YBsix! with two parameters that hold values of $x_0,\alpha$ and $y_0,\beta$, respectively. These macros are given by +the following definitions: +\begin{verbatim} +\def\XBsix#1#2{% +(1-t)^6*(#1)*(#2)+6*t*(1-t)^5*(#1-1.5)*(#2)+15*t^2*(1-t)^4*(#1+2)*(#2)+ +20*t^3*(1-t)^3*(#1+6)*(#2)+15*t^4*(1-t)^2*(#1+5)*(#2)+ +6*t^5*(1-t)*(#1+1.5)*(#2)+t^6*(#1)*(#2)} +\def\YBsix#1#2{% +(1-t)^6*(#1)*(#2)+6*t*(1-t)^5*(#1+2)*(#2)+15*t^2*(1-t)^4*(#1+5)*(#2)+ +20*t^3*(1-t)^3*(#1+3)*(#2)+15*t^4*(1-t)^2*(#1-1)*(#2)+ +6*t^5*(1-t)*(#1-2)*(#2)+t^6*(#1)*(#2)} +\end{verbatim} +\subsection{Examples} +Firstly, let us see the effect of change for the shape of a domain when adjusting its boundary by taking different values of $\alpha$ and $\beta$. The +calling sequence for this purpose may have the form of +\begin{align*} +&\textmtt{\mtt\\parametricplot[algebraic,plotpoints=200,linewidth=0.5pt]\{$0$\}\{$1$\}}\\ +&\textmtt{\mtt\{XBsix\{$x_0$\}\{$\alpha$\}|\mtt\\YBsix\{$y_0$\}\{$\beta$\}\mtt\}} +\end{align*} +and its result is given in Figure \ref{Fig14}. +\begin{figure}[htbp] +\centering\begin{pspicture}(0,0.5)(3.5,3) +\psset{unit=12pt} +\parametricplot[algebraic,plotpoints=200,linewidth=0.5pt]{0}{1}{\XBsix{2}{1.5}|\YBsix{2}{1.5}} +\end{pspicture} +\begin{pspicture}(0,0.5)(5,3.5) +\psset{unit=12pt} +\parametricplot[algebraic,plotpoints=200,linewidth=0.5pt]{0}{1}{\XBsix{2}{2}|\YBsix{2}{1.5}} +\end{pspicture} +\begin{pspicture}(0,1)(4,3.5) +\psset{unit=12pt} +\parametricplot[algebraic,plotpoints=200,linewidth=0.5pt]{0}{1}{\XBsix{2}{1.5}|\YBsix{2}{2}} +\end{pspicture} +\caption{From left to right, corresponding to the couple of values: +$\alpha=2,\,\beta=2$; $\alpha=2.5,\,\beta=2$; $\alpha=2,\,\beta=2.5$.}\label{Fig14} +\end{figure} + +The Table \ref{bc-table2} below provides three partitions of a domain $D$ with cells that decrease in size. In each case, \verb!\NetDraw! can +determine the cells that have points in common with the boundary curve and color them. The calling sequence here +takes a simple form +$$\textmtt{\mtt\\NetDraw\{$c$\}\{$x_0$\}\{$y_0$\}\{$\alpha$\}\{$\beta$\}}$$ +The numerical argument $c$ is assigned to the local variable \verb!\CellNum!. The number of approximate points $(X_i,Y_i)$ for the boundary curve +is chosen to be $200$, by default, corresponding to the increment $\Delta\mtt{z}=0.005$. The number $N$ can be made larger and the filter procedure +for determining required cells may be more exact. In Table \ref{bc-table2}, the B\'{e}zier curves are depicted with the choice +$x_0=y_0=\alpha=\beta=2$. +\begin{table}[htbp] +\centering\begin{tabular}{cc} +\includegraphics[width=6cm]{b6of1}&\includegraphics[width=6cm]{b6of2}\\ +\includegraphics[width=6cm]{b6of3}&\includegraphics[width=6cm]{b6of4} +\end{tabular} +\caption{The partitions of $D$ with $c=18$, $c=36$ and $c=63$.}\label{bc-table2} +\end{table} + +\acknw +I am very grateful to +\begin{itemize} +\item Timothy Van Zandt, Herbert Vo\ss, Dominique Rodriguez and Michael Sharpe for helping me with +their great works on \texttt{PSTricks}. +\item H\`an Th\hantt\rlap\accentcircflx\ Th\`anh for helping me with his pdf\hskip.03em\LaTeX\ program. +\item Robert Fuster for his very useful package \texttt{calculator}. +\end{itemize} +\begin{thebibliography}{10} +\bibitem{one} Dominique Rodriguez, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pstricks-add}: Additional Macros for PSTricks\/}. +Version 3.60, +\url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 +\bibitem{two} Timothy Van Zandt, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pst-node}: Nodes and node connections}. +Version 1.29, +\url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 +\bibitem{three} Helmut Kopka \&\ Patrick W. Daly. \textsl{Guide to \LaTeX \/}. +Addison-Wesley, Fourth Edition, 2004, ISBN 0321173856 +\bibitem{four} Timothy Van Zandt. \textsl{User's Guide\/}. Version 1.5,\\ +\url{http://ctan.org/tex-archive/graphics/pstricks/base}, 2007 +\bibitem{five}Eitan M. Gurari. \textsl{Writing With \TeX \/}, McGraw-Hill, Inc., 1994, ISBN 0-07-025207-6 +\bibitem{six} Robert Fuster. \textsl{\texttt{calculator-calculus}: Scientific Calculations With \LaTeX \/}. Version 1.0a, +\url{http://ctan.org/tex-archive/macros/latex/contrib/calculator}, 2012 +\end{thebibliography} + +\end{document} +\begin{thebibliography}{10} +\bibitem{one} Dominique Rodriguez, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pstricks-add}: Additional Macros for PSTricks\/}. +Version 3.60, +\url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 +\bibitem{two} Timothy Van Zandt, Michael Sharpe \&\ Herbert Vo\ss. \textsl{\texttt{pst-node}: Nodes and node connections}. +Version 1.29, +\url{http://ctan.org/tex-archive/graphics/pstricks/contrib}, 2013 +\bibitem{three} Helmut Kopka \&\ Patrick W. Daly. \textsl{Guide to \LaTeX \/}. +Addison-Wesley, Fourth Edition, 2004, ISBN 0321173856 +\bibitem{four} Timothy Van Zandt. \textsl{User's Guide\/}. Version 1.5,\\ +\url{http://ctan.org/tex-archive/graphics/pstricks/base}, 2007 +\bibitem{five}Eitan M. Gurari. \textsl{Writing With \TeX \/}, McGraw-Hill, Inc., 1994, ISBN 0-07-025207-6 +\bibitem{six} Robert Fuster. \textsl{\texttt{calculator-calculus}: Scientific Calculations With \LaTeX \/}. Version 1.0a, +\url{http://ctan.org/tex-archive/macros/latex/contrib/calculator}, 2012 +\end{thebibliography} diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of1.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of1.eps new file mode 100644 index 00000000000..afdba1de51a --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of1.eps @@ -0,0 +1,11111 @@ +%!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:11:03 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:1610 +%%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->EE +%% 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 +/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 +%% +%% 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ß +% 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 +%% +%% 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 +%% +%% 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 +%% with contributions of Darrell Lamm 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.66608 47.99945 46.66608 +55.99933 55.33264 55.99933 55.33264 47.99945 46.66608 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.66608 47.99945 46.66608 +55.99933 55.33264 55.99933 55.33264 47.99945 46.66608 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 [ 37.99951 47.99945 37.99951 +55.99933 46.66608 55.99933 46.66608 47.99945 37.99951 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 [ 37.99951 47.99945 37.99951 +55.99933 46.66608 55.99933 46.66608 47.99945 37.99951 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 [ 37.99951 47.99945 37.99951 +55.99933 46.66608 55.99933 46.66608 47.99945 37.99951 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 [ 37.99951 47.99945 37.99951 +55.99933 46.66608 55.99933 46.66608 47.99945 37.99951 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 [ 37.99951 55.99951 37.99951 +63.99939 46.66608 63.99939 46.66608 55.99951 37.99951 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.99951 55.99951 37.99951 +63.99939 46.66608 63.99939 46.66608 55.99951 37.99951 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.99951 55.99951 37.99951 +63.99939 46.66608 63.99939 46.66608 55.99951 37.99951 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.99951 55.99951 37.99951 +63.99939 46.66608 63.99939 46.66608 55.99951 37.99951 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.99951 55.99951 37.99951 +63.99939 46.66608 63.99939 46.66608 55.99951 37.99951 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.99951 63.99939 37.99951 +71.99927 46.66608 71.99927 46.66608 63.99939 37.99951 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.99951 63.99939 37.99951 +71.99927 46.66608 71.99927 46.66608 63.99939 37.99951 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.99951 63.99939 37.99951 +71.99927 46.66608 71.99927 46.66608 63.99939 37.99951 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.99951 63.99939 37.99951 +71.99927 46.66608 71.99927 46.66608 63.99939 37.99951 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.99951 63.99939 37.99951 +71.99927 46.66608 71.99927 46.66608 63.99939 37.99951 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.99951 63.99939 37.99951 +71.99927 46.66608 71.99927 46.66608 63.99939 37.99951 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.99951 71.99927 37.99951 +79.99915 46.66608 79.99915 46.66608 71.99927 37.99951 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.99951 71.99927 37.99951 +79.99915 46.66608 79.99915 46.66608 71.99927 37.99951 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.99951 71.99927 37.99951 +79.99915 46.66608 79.99915 46.66608 71.99927 37.99951 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.99951 71.99927 37.99951 +79.99915 46.66608 79.99915 46.66608 71.99927 37.99951 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.99951 71.99927 37.99951 +79.99915 46.66608 79.99915 46.66608 71.99927 37.99951 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.99951 79.99915 37.99951 +87.99902 46.66608 87.99902 46.66608 79.99915 37.99951 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 [ 37.99951 79.99915 37.99951 +87.99902 46.66608 87.99902 46.66608 79.99915 37.99951 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 [ 37.99951 79.99915 37.99951 +87.99902 46.66608 87.99902 46.66608 79.99915 37.99951 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 [ 37.99951 79.99915 37.99951 +87.99902 46.66608 87.99902 46.66608 79.99915 37.99951 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 [ 37.99951 79.99915 37.99951 +87.99902 46.66608 87.99902 46.66608 79.99915 37.99951 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 [ 37.99951 79.99915 37.99951 +87.99902 46.66608 87.99902 46.66608 79.99915 37.99951 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 [ 46.66608 87.9992 46.66608 +95.99908 55.33264 95.99908 55.33264 87.9992 46.66608 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.66608 87.9992 46.66608 +95.99908 55.33264 95.99908 55.33264 87.9992 46.66608 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.66608 87.9992 46.66608 +95.99908 55.33264 95.99908 55.33264 87.9992 46.66608 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.66608 87.9992 46.66608 +95.99908 55.33264 95.99908 55.33264 87.9992 46.66608 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.66608 87.9992 46.66608 +95.99908 55.33264 95.99908 55.33264 87.9992 46.66608 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.66608 87.9992 46.66608 +95.99908 55.33264 95.99908 55.33264 87.9992 46.66608 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.66608 87.9992 46.66608 +95.99908 55.33264 95.99908 55.33264 87.9992 46.66608 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.66608 95.99908 46.66608 +103.99896 55.33264 103.99896 55.33264 95.99908 46.66608 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 [ 46.66608 95.99908 46.66608 +103.99896 55.33264 103.99896 55.33264 95.99908 46.66608 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.33264 95.99908 55.33264 +103.99896 63.9992 103.99896 63.9992 95.99908 55.33264 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.33264 95.99908 55.33264 +103.99896 63.9992 103.99896 63.9992 95.99908 55.33264 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.33264 95.99908 55.33264 +103.99896 63.9992 103.99896 63.9992 95.99908 55.33264 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.33264 95.99908 55.33264 +103.99896 63.9992 103.99896 63.9992 95.99908 55.33264 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.33264 95.99908 55.33264 +103.99896 63.9992 103.99896 63.9992 95.99908 55.33264 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.33264 95.99908 55.33264 +103.99896 63.9992 103.99896 63.9992 95.99908 55.33264 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.33264 103.99896 55.33264 +111.99884 63.9992 111.99884 63.9992 103.99896 55.33264 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.9992 103.99896 63.9992 +111.99884 72.66577 111.99884 72.66577 103.99896 63.9992 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.9992 103.99896 63.9992 +111.99884 72.66577 111.99884 72.66577 103.99896 63.9992 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.9992 103.99896 63.9992 +111.99884 72.66577 111.99884 72.66577 103.99896 63.9992 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.9992 103.99896 63.9992 +111.99884 72.66577 111.99884 72.66577 103.99896 63.9992 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.9992 103.99896 63.9992 +111.99884 72.66577 111.99884 72.66577 103.99896 63.9992 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.9992 103.99896 63.9992 +111.99884 72.66577 111.99884 72.66577 103.99896 63.9992 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.9992 103.99896 63.9992 +111.99884 72.66577 111.99884 72.66577 103.99896 63.9992 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 [ 72.66559 103.99896 72.66559 +111.99884 81.33215 111.99884 81.33215 103.99896 72.66559 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 [ 72.66559 103.99896 72.66559 +111.99884 81.33215 111.99884 81.33215 103.99896 72.66559 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 [ 72.66559 103.99896 72.66559 +111.99884 81.33215 111.99884 81.33215 103.99896 72.66559 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 [ 72.66559 103.99896 72.66559 +111.99884 81.33215 111.99884 81.33215 103.99896 72.66559 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 [ 72.66559 103.99896 72.66559 +111.99884 81.33215 111.99884 81.33215 103.99896 72.66559 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 [ 72.66559 103.99896 72.66559 +111.99884 81.33215 111.99884 81.33215 103.99896 72.66559 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 [ 81.33215 111.99884 81.33215 +119.99872 89.99872 119.99872 89.99872 111.99884 81.33215 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.33215 111.99884 81.33215 +119.99872 89.99872 119.99872 89.99872 111.99884 81.33215 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.33215 111.99884 81.33215 +119.99872 89.99872 119.99872 89.99872 111.99884 81.33215 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.33215 111.99884 81.33215 +119.99872 89.99872 119.99872 89.99872 111.99884 81.33215 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.33215 111.99884 81.33215 +119.99872 89.99872 119.99872 89.99872 111.99884 81.33215 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.33215 111.99884 81.33215 +119.99872 89.99872 119.99872 89.99872 111.99884 81.33215 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.99872 111.99884 89.99872 +119.99872 98.66528 119.99872 98.66528 111.99884 89.99872 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.99872 111.99884 89.99872 +119.99872 98.66528 119.99872 98.66528 111.99884 89.99872 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.99872 111.99884 89.99872 +119.99872 98.66528 119.99872 98.66528 111.99884 89.99872 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.99872 111.99884 89.99872 +119.99872 98.66528 119.99872 98.66528 111.99884 89.99872 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.99872 111.99884 89.99872 +119.99872 98.66528 119.99872 98.66528 111.99884 89.99872 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.99872 111.99884 89.99872 +119.99872 98.66528 119.99872 98.66528 111.99884 89.99872 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.66528 111.99884 98.66528 +119.99872 107.33185 119.99872 107.33185 111.99884 98.66528 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.66528 111.99884 98.66528 +119.99872 107.33185 119.99872 107.33185 111.99884 98.66528 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.66528 111.99884 98.66528 +119.99872 107.33185 119.99872 107.33185 111.99884 98.66528 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.66528 111.99884 98.66528 +119.99872 107.33185 119.99872 107.33185 111.99884 98.66528 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.66528 103.99896 98.66528 +111.99884 107.33185 111.99884 107.33185 103.99896 98.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 [ 98.66528 103.99896 98.66528 +111.99884 107.33185 111.99884 107.33185 103.99896 98.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 [ 107.33167 103.99896 107.33167 +111.99884 115.99823 111.99884 115.99823 103.99896 107.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 [ 107.33167 103.99896 107.33167 +111.99884 115.99823 111.99884 115.99823 103.99896 107.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 [ 107.33167 103.99896 107.33167 +111.99884 115.99823 111.99884 115.99823 103.99896 107.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 [ 107.33167 103.99896 107.33167 +111.99884 115.99823 111.99884 115.99823 103.99896 107.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 [ 107.33167 103.99896 107.33167 +111.99884 115.99823 111.99884 115.99823 103.99896 107.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 [ 107.33167 103.99896 107.33167 +111.99884 115.99823 111.99884 115.99823 103.99896 107.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 [ 107.33167 103.99896 107.33167 +111.99884 115.99823 111.99884 115.99823 103.99896 107.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 [ 115.99823 103.99896 115.99823 +111.99884 124.6648 111.99884 124.6648 103.99896 115.99823 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.99823 103.99896 115.99823 +111.99884 124.6648 111.99884 124.6648 103.99896 115.99823 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.99823 103.99896 115.99823 +111.99884 124.6648 111.99884 124.6648 103.99896 115.99823 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.99823 103.99896 115.99823 +111.99884 124.6648 111.99884 124.6648 103.99896 115.99823 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.99823 103.99896 115.99823 +111.99884 124.6648 111.99884 124.6648 103.99896 115.99823 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.99823 103.99896 115.99823 +111.99884 124.6648 111.99884 124.6648 103.99896 115.99823 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.99823 95.99908 115.99823 +103.99896 124.6648 103.99896 124.6648 95.99908 115.99823 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 [ 115.99823 95.99908 115.99823 +103.99896 124.6648 103.99896 124.6648 95.99908 115.99823 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 [ 115.99823 95.99908 115.99823 +103.99896 124.6648 103.99896 124.6648 95.99908 115.99823 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.6648 95.99908 124.6648 +103.99896 133.33136 103.99896 133.33136 95.99908 124.6648 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.6648 95.99908 124.6648 +103.99896 133.33136 103.99896 133.33136 95.99908 124.6648 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.6648 95.99908 124.6648 +103.99896 133.33136 103.99896 133.33136 95.99908 124.6648 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.6648 95.99908 124.6648 +103.99896 133.33136 103.99896 133.33136 95.99908 124.6648 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.6648 95.99908 124.6648 +103.99896 133.33136 103.99896 133.33136 95.99908 124.6648 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.6648 95.99908 124.6648 +103.99896 133.33136 103.99896 133.33136 95.99908 124.6648 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.6648 87.9992 124.6648 +95.99908 133.33136 95.99908 133.33136 87.9992 124.6648 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 [ 124.6648 87.9992 124.6648 +95.99908 133.33136 95.99908 133.33136 87.9992 124.6648 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 [ 124.6648 87.9992 124.6648 +95.99908 133.33136 95.99908 133.33136 87.9992 124.6648 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 [ 124.6648 87.9992 124.6648 +95.99908 133.33136 95.99908 133.33136 87.9992 124.6648 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 [ 124.6648 87.9992 124.6648 +95.99908 133.33136 95.99908 133.33136 87.9992 124.6648 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.33136 87.9992 133.33136 +95.99908 141.99792 95.99908 141.99792 87.9992 133.33136 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.33136 87.9992 133.33136 +95.99908 141.99792 95.99908 141.99792 87.9992 133.33136 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.33136 87.9992 133.33136 +95.99908 141.99792 95.99908 141.99792 87.9992 133.33136 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.33136 79.99915 133.33136 +87.99902 141.99792 87.99902 141.99792 79.99915 133.33136 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.33136 79.99915 133.33136 +87.99902 141.99792 87.99902 141.99792 79.99915 133.33136 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.33136 79.99915 133.33136 +87.99902 141.99792 87.99902 141.99792 79.99915 133.33136 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.33136 79.99915 133.33136 +87.99902 141.99792 87.99902 141.99792 79.99915 133.33136 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.33136 79.99915 133.33136 +87.99902 141.99792 87.99902 141.99792 79.99915 133.33136 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.33136 79.99915 133.33136 +87.99902 141.99792 87.99902 141.99792 79.99915 133.33136 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.33136 79.99915 133.33136 +87.99902 141.99792 87.99902 141.99792 79.99915 133.33136 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.33136 71.99927 133.33136 +79.99915 141.99792 79.99915 141.99792 71.99927 133.33136 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.33136 71.99927 133.33136 +79.99915 141.99792 79.99915 141.99792 71.99927 133.33136 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.33136 71.99927 133.33136 +79.99915 141.99792 79.99915 141.99792 71.99927 133.33136 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.33136 71.99927 133.33136 +79.99915 141.99792 79.99915 141.99792 71.99927 133.33136 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.33136 71.99927 133.33136 +79.99915 141.99792 79.99915 141.99792 71.99927 133.33136 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.33136 71.99927 133.33136 +79.99915 141.99792 79.99915 141.99792 71.99927 133.33136 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.33136 71.99927 133.33136 +79.99915 141.99792 79.99915 141.99792 71.99927 133.33136 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.33136 63.99939 133.33136 +71.99927 141.99792 71.99927 141.99792 63.99939 133.33136 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.33136 63.99939 133.33136 +71.99927 141.99792 71.99927 141.99792 63.99939 133.33136 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.33136 63.99939 133.33136 +71.99927 141.99792 71.99927 141.99792 63.99939 133.33136 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.33136 63.99939 133.33136 +71.99927 141.99792 71.99927 141.99792 63.99939 133.33136 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.33136 63.99939 133.33136 +71.99927 141.99792 71.99927 141.99792 63.99939 133.33136 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.33136 63.99939 133.33136 +71.99927 141.99792 71.99927 141.99792 63.99939 133.33136 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.33136 55.99951 133.33136 +63.99939 141.99792 63.99939 141.99792 55.99951 133.33136 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.33136 55.99951 133.33136 +63.99939 141.99792 63.99939 141.99792 55.99951 133.33136 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.33136 55.99951 133.33136 +63.99939 141.99792 63.99939 141.99792 55.99951 133.33136 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.33136 55.99951 133.33136 +63.99939 141.99792 63.99939 141.99792 55.99951 133.33136 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.33136 55.99951 133.33136 +63.99939 141.99792 63.99939 141.99792 55.99951 133.33136 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.33136 55.99951 133.33136 +63.99939 141.99792 63.99939 141.99792 55.99951 133.33136 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 [ 124.6648 55.99951 124.6648 +63.99939 133.33136 63.99939 133.33136 55.99951 124.6648 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 [ 124.6648 47.99945 124.6648 +55.99933 133.33136 55.99933 133.33136 47.99945 124.6648 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.6648 47.99945 124.6648 +55.99933 133.33136 55.99933 133.33136 47.99945 124.6648 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.6648 47.99945 124.6648 +55.99933 133.33136 55.99933 133.33136 47.99945 124.6648 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.6648 47.99945 124.6648 +55.99933 133.33136 55.99933 133.33136 47.99945 124.6648 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.6648 47.99945 124.6648 +55.99933 133.33136 55.99933 133.33136 47.99945 124.6648 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.6648 47.99945 124.6648 +55.99933 133.33136 55.99933 133.33136 47.99945 124.6648 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.6648 47.99945 124.6648 +55.99933 133.33136 55.99933 133.33136 47.99945 124.6648 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.6648 39.99957 124.6648 +47.99945 133.33136 47.99945 133.33136 39.99957 124.6648 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 [ 124.6648 39.99957 124.6648 +47.99945 133.33136 47.99945 133.33136 39.99957 124.6648 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 [ 124.6648 39.99957 124.6648 +47.99945 133.33136 47.99945 133.33136 39.99957 124.6648 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 [ 124.6648 39.99957 124.6648 +47.99945 133.33136 47.99945 133.33136 39.99957 124.6648 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.99823 39.99957 115.99823 +47.99945 124.6648 47.99945 124.6648 39.99957 115.99823 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.99823 39.99957 115.99823 +47.99945 124.6648 47.99945 124.6648 39.99957 115.99823 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.99823 39.99957 115.99823 +47.99945 124.6648 47.99945 124.6648 39.99957 115.99823 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.99823 39.99957 115.99823 +47.99945 124.6648 47.99945 124.6648 39.99957 115.99823 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.99823 31.9997 115.99823 +39.99957 124.6648 39.99957 124.6648 31.9997 115.99823 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 [ 115.99823 31.9997 115.99823 +39.99957 124.6648 39.99957 124.6648 31.9997 115.99823 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 [ 115.99823 31.9997 115.99823 +39.99957 124.6648 39.99957 124.6648 31.9997 115.99823 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 [ 115.99823 31.9997 115.99823 +39.99957 124.6648 39.99957 124.6648 31.9997 115.99823 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.33167 31.9997 107.33167 +39.99957 115.99823 39.99957 115.99823 31.9997 107.33167 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.33167 31.9997 107.33167 +39.99957 115.99823 39.99957 115.99823 31.9997 107.33167 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.33167 31.9997 107.33167 +39.99957 115.99823 39.99957 115.99823 31.9997 107.33167 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.33167 31.9997 107.33167 +39.99957 115.99823 39.99957 115.99823 31.9997 107.33167 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.33167 31.9997 107.33167 +39.99957 115.99823 39.99957 115.99823 31.9997 107.33167 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.33167 31.9997 107.33167 +39.99957 115.99823 39.99957 115.99823 31.9997 107.33167 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.33167 31.9997 107.33167 +39.99957 115.99823 39.99957 115.99823 31.9997 107.33167 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 [ 98.66528 31.9997 98.66528 +39.99957 107.33185 39.99957 107.33185 31.9997 98.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 [ 98.66528 23.99982 98.66528 +31.9997 107.33185 31.9997 107.33185 23.99982 98.66528 23.99982 /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.66528 23.99982 98.66528 +31.9997 107.33185 31.9997 107.33185 23.99982 98.66528 23.99982 /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.66528 23.99982 98.66528 +31.9997 107.33185 31.9997 107.33185 23.99982 98.66528 23.99982 /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.66528 23.99982 98.66528 +31.9997 107.33185 31.9997 107.33185 23.99982 98.66528 23.99982 /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.66528 23.99982 98.66528 +31.9997 107.33185 31.9997 107.33185 23.99982 98.66528 23.99982 /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.99872 23.99982 89.99872 +31.9997 98.66528 31.9997 98.66528 23.99982 89.99872 23.99982 /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.99872 23.99982 89.99872 +31.9997 98.66528 31.9997 98.66528 23.99982 89.99872 23.99982 /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.99872 23.99982 89.99872 +31.9997 98.66528 31.9997 98.66528 23.99982 89.99872 23.99982 /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.99872 23.99982 89.99872 +31.9997 98.66528 31.9997 98.66528 23.99982 89.99872 23.99982 /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.99872 23.99982 89.99872 +31.9997 98.66528 31.9997 98.66528 23.99982 89.99872 23.99982 /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.99872 23.99982 89.99872 +31.9997 98.66528 31.9997 98.66528 23.99982 89.99872 23.99982 /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.33215 23.99982 81.33215 +31.9997 89.99872 31.9997 89.99872 23.99982 81.33215 23.99982 /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.33215 23.99982 81.33215 +31.9997 89.99872 31.9997 89.99872 23.99982 81.33215 23.99982 /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.33215 23.99982 81.33215 +31.9997 89.99872 31.9997 89.99872 23.99982 81.33215 23.99982 /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.33215 23.99982 81.33215 +31.9997 89.99872 31.9997 89.99872 23.99982 81.33215 23.99982 /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.33215 23.99982 81.33215 +31.9997 89.99872 31.9997 89.99872 23.99982 81.33215 23.99982 /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.33215 23.99982 81.33215 +31.9997 89.99872 31.9997 89.99872 23.99982 81.33215 23.99982 /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.66559 23.99982 72.66559 +31.9997 81.33215 31.9997 81.33215 23.99982 72.66559 23.99982 /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.66559 23.99982 72.66559 +31.9997 81.33215 31.9997 81.33215 23.99982 72.66559 23.99982 /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.66559 23.99982 72.66559 +31.9997 81.33215 31.9997 81.33215 23.99982 72.66559 23.99982 /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.66559 23.99982 72.66559 +31.9997 81.33215 31.9997 81.33215 23.99982 72.66559 23.99982 /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.66559 23.99982 72.66559 +31.9997 81.33215 31.9997 81.33215 23.99982 72.66559 23.99982 /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.66559 23.99982 72.66559 +31.9997 81.33215 31.9997 81.33215 23.99982 72.66559 23.99982 /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.9992 23.99982 63.9992 +31.9997 72.66577 31.9997 72.66577 23.99982 63.9992 23.99982 /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.9992 23.99982 63.9992 +31.9997 72.66577 31.9997 72.66577 23.99982 63.9992 23.99982 /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.9992 23.99982 63.9992 +31.9997 72.66577 31.9997 72.66577 23.99982 63.9992 23.99982 /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.9992 31.9997 63.9992 +39.99957 72.66577 39.99957 72.66577 31.9997 63.9992 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.9992 31.9997 63.9992 +39.99957 72.66577 39.99957 72.66577 31.9997 63.9992 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.9992 31.9997 63.9992 +39.99957 72.66577 39.99957 72.66577 31.9997 63.9992 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 [ 55.33264 31.9997 55.33264 +39.99957 63.9992 39.99957 63.9992 31.9997 55.33264 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 [ 55.33264 31.9997 55.33264 +39.99957 63.9992 39.99957 63.9992 31.9997 55.33264 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 [ 55.33264 31.9997 55.33264 +39.99957 63.9992 39.99957 63.9992 31.9997 55.33264 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 [ 55.33264 31.9997 55.33264 +39.99957 63.9992 39.99957 63.9992 31.9997 55.33264 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 [ 55.33264 31.9997 55.33264 +39.99957 63.9992 39.99957 63.9992 31.9997 55.33264 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 [ 55.33264 31.9997 55.33264 +39.99957 63.9992 39.99957 63.9992 31.9997 55.33264 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 [ 46.66608 39.99957 46.66608 +47.99945 55.33264 47.99945 55.33264 39.99957 46.66608 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.66608 39.99957 46.66608 +47.99945 55.33264 47.99945 55.33264 39.99957 46.66608 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.66608 39.99957 46.66608 +47.99945 55.33264 47.99945 55.33264 39.99957 46.66608 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.66608 39.99957 46.66608 +47.99945 55.33264 47.99945 55.33264 39.99957 46.66608 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.66608 39.99957 46.66608 +47.99945 55.33264 47.99945 55.33264 39.99957 46.66608 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.66608 39.99957 46.66608 +47.99945 55.33264 47.99945 55.33264 39.99957 46.66608 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 /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 [ 20.66656 0.0 20.66656 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.33313 0.0 29.33313 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.99951 0.0 37.99951 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.66608 0.0 46.66608 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.33264 0.0 55.33264 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.9992 0.0 63.9992 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.66559 0.0 72.66559 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.33215 0.0 81.33215 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.99872 0.0 89.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 [ 98.66528 0.0 98.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 [ 107.33167 0.0 107.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 [ 115.99823 0.0 115.99823 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.6648 0.0 124.6648 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.33136 0.0 133.33136 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.99774 0.0 141.99774 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.6643 0.0 150.6643 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.33087 0.0 159.33087 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.99744 0.0 167.99744 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of2.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of2.eps new file mode 100644 index 00000000000..ecedf7235f0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of2.eps @@ -0,0 +1,11891 @@ +%!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->EE +%% 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 +/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 +%% +%% 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ß +% 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 +%% +%% 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 +%% +%% 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 +%% with contributions of Darrell Lamm 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 diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of3.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of3.eps new file mode 100644 index 00000000000..28051435f6b --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of3.eps @@ -0,0 +1,28461 @@ +%!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:28:39 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:1623 +%%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->EE +%% 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 +/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 +%% +%% 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ß +% 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 +%% +%% 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 +%% +%% 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 +%% with contributions of Darrell Lamm 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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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 [ 44.18903 48.00092 44.18903 +50.28662 46.66516 50.28662 46.66516 48.00092 44.18903 48.00092 /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 [ 44.18903 48.00092 44.18903 +50.28662 46.66516 50.28662 46.66516 48.00092 44.18903 48.00092 /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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 [ 44.18903 52.57251 44.18903 +54.85822 46.66516 54.85822 46.66516 52.57251 44.18903 52.57251 /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 [ 44.18903 52.57251 44.18903 +54.85822 46.66516 54.85822 46.66516 52.57251 44.18903 52.57251 /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 [ 44.18903 52.57251 44.18903 +54.85822 46.66516 54.85822 46.66516 52.57251 44.18903 52.57251 /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 [ 44.18903 52.57251 44.18903 +54.85822 46.66516 54.85822 46.66516 52.57251 44.18903 52.57251 /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 [ 41.71289 52.57251 41.71289 +54.85822 44.18903 54.85822 44.18903 52.57251 41.71289 52.57251 /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 [ 41.71289 52.57251 41.71289 +54.85822 44.18903 54.85822 44.18903 52.57251 41.71289 52.57251 /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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 [ 41.71289 59.42981 41.71289 +61.71552 44.18903 61.71552 44.18903 59.42981 41.71289 59.42981 /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 [ 41.71289 59.42981 41.71289 +61.71552 44.18903 61.71552 44.18903 59.42981 41.71289 59.42981 /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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 [ 39.23694 75.43011 39.23694 +77.71582 41.71307 77.71582 41.71307 75.43011 39.23694 75.43011 /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 [ 39.23694 75.43011 39.23694 +77.71582 41.71307 77.71582 41.71307 75.43011 39.23694 75.43011 /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 [ 39.23694 75.43011 39.23694 +77.71582 41.71307 77.71582 41.71307 75.43011 39.23694 75.43011 /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 [ 39.23694 75.43011 39.23694 +77.71582 41.71307 77.71582 41.71307 75.43011 39.23694 75.43011 /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 [ 41.71289 75.43011 41.71289 +77.71582 44.18903 77.71582 44.18903 75.43011 41.71289 75.43011 /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 [ 41.71289 75.43011 41.71289 +77.71582 44.18903 77.71582 44.18903 75.43011 41.71289 75.43011 /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 [ 41.71289 75.43011 41.71289 +77.71582 44.18903 77.71582 44.18903 75.43011 41.71289 75.43011 /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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 [ 44.18903 82.28741 44.18903 +84.57312 46.66516 84.57312 46.66516 82.28741 44.18903 82.28741 /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 [ 44.18903 82.28741 44.18903 +84.57312 46.66516 84.57312 46.66516 82.28741 44.18903 82.28741 /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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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.66516 86.85883 46.66516 +89.14453 49.1413 89.14453 49.1413 86.85883 46.66516 86.85883 /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.66516 86.85883 46.66516 +89.14453 49.1413 89.14453 49.1413 86.85883 46.66516 86.85883 /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.66516 86.85883 46.66516 +89.14453 49.1413 89.14453 49.1413 86.85883 46.66516 86.85883 /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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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.66516 91.43042 46.66516 +93.71613 49.1413 93.71613 49.1413 91.43042 46.66516 91.43042 /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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 [ 54.09338 96.00183 54.09338 +98.28754 56.56952 98.28754 56.56952 96.00183 54.09338 96.00183 /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 [ 54.09338 96.00183 54.09338 +98.28754 56.56952 98.28754 56.56952 96.00183 54.09338 96.00183 /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 [ 54.09338 96.00183 54.09338 +98.28754 56.56952 98.28754 56.56952 96.00183 54.09338 96.00183 /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 [ 54.09338 96.00183 54.09338 +98.28754 56.56952 98.28754 56.56952 96.00183 54.09338 96.00183 /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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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.04547 102.85913 59.04547 +105.14484 61.5216 105.14484 61.5216 102.85913 59.04547 102.85913 +/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.04547 102.85913 59.04547 +105.14484 61.5216 105.14484 61.5216 102.85913 59.04547 102.85913 +/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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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.99774 102.85913 63.99774 +105.14484 66.47388 105.14484 66.47388 102.85913 63.99774 102.85913 + /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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 [ 66.4737 107.43073 66.4737 +109.71643 68.94983 109.71643 68.94983 107.43073 66.4737 107.43073 + /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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 [ 73.90192 107.43073 73.90192 +109.71643 76.37805 109.71643 76.37805 107.43073 73.90192 107.43073 + /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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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.33032 109.71643 81.33032 +112.00214 83.80646 112.00214 83.80646 109.71643 81.33032 109.71643 + /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.33032 109.71643 81.33032 +112.00214 83.80646 112.00214 83.80646 109.71643 81.33032 109.71643 + /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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 [ 103.61499 112.00232 103.61499 +114.28802 106.09113 114.28802 106.09113 112.00232 103.61499 112.00232 + /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 [ 103.61499 112.00232 103.61499 +114.28802 106.09113 114.28802 106.09113 112.00232 103.61499 112.00232 + /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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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.9953 107.43073 115.9953 +109.71643 118.47144 109.71643 118.47144 107.43073 115.9953 107.43073 + /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.9953 107.43073 115.9953 +109.71643 118.47144 109.71643 118.47144 107.43073 115.9953 107.43073 + /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.9953 107.43073 115.9953 +109.71643 118.47144 109.71643 118.47144 107.43073 115.9953 107.43073 + /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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 [ 118.47144 102.85913 118.47144 +105.14484 120.94757 105.14484 120.94757 102.85913 118.47144 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 [ 123.42352 102.85913 123.42352 +105.14484 125.89966 105.14484 125.89966 102.85913 123.42352 102.85913 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 [ 125.89966 100.57343 125.89966 +102.85913 128.3758 102.85913 128.3758 100.57343 125.89966 100.57343 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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.3758 98.28772 128.3758 +100.57343 130.85193 100.57343 130.85193 98.28772 128.3758 98.28772 + /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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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.3758 93.71613 128.3758 +96.00183 130.85193 96.00183 130.85193 93.71613 128.3758 93.71613 +/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.3758 93.71613 128.3758 +96.00183 130.85193 96.00183 130.85193 93.71613 128.3758 93.71613 +/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.3758 93.71613 128.3758 +96.00183 130.85193 96.00183 130.85193 93.71613 128.3758 93.71613 +/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.3758 93.71613 128.3758 +96.00183 130.85193 96.00183 130.85193 93.71613 128.3758 93.71613 +/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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 [ 130.85193 89.14471 130.85193 +91.43042 133.32806 91.43042 133.32806 89.14471 130.85193 89.14471 + /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 [ 130.85193 89.14471 130.85193 +91.43042 133.32806 91.43042 133.32806 89.14471 130.85193 89.14471 + /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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 [ 135.80402 61.71552 135.80402 +64.00122 138.28015 64.00122 138.28015 61.71552 135.80402 61.71552 + /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 [ 135.80402 61.71552 135.80402 +64.00122 138.28015 64.00122 138.28015 61.71552 135.80402 61.71552 + /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 [ 135.80402 61.71552 135.80402 +64.00122 138.28015 64.00122 138.28015 61.71552 135.80402 61.71552 + /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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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.32788 54.85822 133.32788 +57.14392 135.80402 57.14392 135.80402 54.85822 133.32788 54.85822 + /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.32788 54.85822 133.32788 +57.14392 135.80402 57.14392 135.80402 54.85822 133.32788 54.85822 + /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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 [ 130.85193 50.2868 130.85193 +52.57251 133.32806 52.57251 133.32806 50.2868 130.85193 50.2868 /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 [ 130.85193 50.2868 130.85193 +52.57251 133.32806 52.57251 133.32806 50.2868 130.85193 50.2868 /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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 [ 125.89966 48.00092 125.89966 +50.28662 128.3758 50.28662 128.3758 48.00092 125.89966 48.00092 /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 [ 125.89966 48.00092 125.89966 +50.28662 128.3758 50.28662 128.3758 48.00092 125.89966 48.00092 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 [ 125.89966 43.4295 125.89966 +45.71521 128.3758 45.71521 128.3758 43.4295 125.89966 43.4295 /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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 [ 123.42352 41.14362 123.42352 +43.42932 125.89966 43.42932 125.89966 41.14362 123.42352 41.14362 + /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 [ 123.42352 41.14362 123.42352 +43.42932 125.89966 43.42932 125.89966 41.14362 123.42352 41.14362 + /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 [ 123.42352 41.14362 123.42352 +43.42932 125.89966 43.42932 125.89966 41.14362 123.42352 41.14362 + /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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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.94757 38.85791 120.94757 +41.14362 123.4237 41.14362 123.4237 38.85791 120.94757 38.85791 /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.94757 38.85791 120.94757 +41.14362 123.4237 41.14362 123.4237 38.85791 120.94757 38.85791 /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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 [ 118.47144 36.5722 118.47144 +38.85791 120.94757 38.85791 120.94757 36.5722 118.47144 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 [ 113.51935 36.5722 113.51935 +38.85791 115.99548 38.85791 115.99548 36.5722 113.51935 36.5722 /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 [ 113.51935 36.5722 113.51935 +38.85791 115.99548 38.85791 115.99548 36.5722 113.51935 36.5722 /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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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.04321 32.00061 111.04321 +34.28632 113.51935 34.28632 113.51935 32.00061 111.04321 32.00061 + /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.04321 32.00061 111.04321 +34.28632 113.51935 34.28632 113.51935 32.00061 111.04321 32.00061 + /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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 [ 106.09113 29.7149 106.09113 +32.00061 108.56726 32.00061 108.56726 29.7149 106.09113 29.7149 /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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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.66272 27.4292 98.66272 +29.7149 101.13885 29.7149 101.13885 27.4292 98.66272 27.4292 /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.66272 27.4292 98.66272 +29.7149 101.13885 29.7149 101.13885 27.4292 98.66272 27.4292 /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.66272 27.4292 98.66272 +29.7149 101.13885 29.7149 101.13885 27.4292 98.66272 27.4292 /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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 [ 73.90192 29.7149 73.90192 +32.00061 76.37805 32.00061 76.37805 29.7149 73.90192 29.7149 /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 [ 73.90192 29.7149 73.90192 +32.00061 76.37805 32.00061 76.37805 29.7149 73.90192 29.7149 /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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 [ 66.4737 29.7149 66.4737 +32.00061 68.94983 32.00061 68.94983 29.7149 66.4737 29.7149 /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 [ 66.4737 29.7149 66.4737 +32.00061 68.94983 32.00061 68.94983 29.7149 66.4737 29.7149 /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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 [ 61.5216 32.00061 61.5216 +34.28632 63.99774 34.28632 63.99774 32.00061 61.5216 32.00061 /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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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.04547 36.5722 59.04547 +38.85791 61.5216 38.85791 61.5216 36.5722 59.04547 36.5722 /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.04547 36.5722 59.04547 +38.85791 61.5216 38.85791 61.5216 36.5722 59.04547 36.5722 /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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 [ 56.56952 38.85791 56.56952 +41.14362 59.04565 41.14362 59.04565 38.85791 56.56952 38.85791 /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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 [ 51.61725 43.4295 51.61725 +45.71521 54.09338 45.71521 54.09338 43.4295 51.61725 43.4295 /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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 [ 49.14111 45.71521 49.14111 +48.00092 51.61725 48.00092 51.61725 45.71521 49.14111 45.71521 /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 [ 49.14111 45.71521 49.14111 +48.00092 51.61725 48.00092 51.61725 45.71521 49.14111 45.71521 /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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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 [ 14.47614 0.0 14.47614 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.95209 0.0 16.95209 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 [ 19.42822 0.0 19.42822 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 [ 21.90436 0.0 21.90436 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.38031 0.0 24.38031 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 [ 26.85645 0.0 26.85645 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.33258 0.0 29.33258 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 [ 31.80872 0.0 31.80872 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 [ 34.28467 0.0 34.28467 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 [ 36.7608 0.0 36.7608 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 [ 39.23694 0.0 39.23694 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 [ 41.71289 0.0 41.71289 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 [ 44.18903 0.0 44.18903 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.66516 0.0 46.66516 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 [ 49.14111 0.0 49.14111 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 [ 51.61725 0.0 51.61725 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 [ 54.09338 0.0 54.09338 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 [ 56.56952 0.0 56.56952 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.04547 0.0 59.04547 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 [ 61.5216 0.0 61.5216 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.99774 0.0 63.99774 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 [ 66.4737 0.0 66.4737 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.94983 0.0 68.94983 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 [ 71.42596 0.0 71.42596 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 [ 73.90192 0.0 73.90192 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.37805 0.0 76.37805 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 [ 78.85419 0.0 78.85419 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.33032 0.0 81.33032 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 [ 83.80627 0.0 83.80627 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 [ 86.28241 0.0 86.28241 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 [ 88.75854 0.0 88.75854 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 [ 91.2345 0.0 91.2345 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 [ 93.71063 0.0 93.71063 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 [ 96.18677 0.0 96.18677 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.66272 0.0 98.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 [ 101.13885 0.0 101.13885 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 [ 103.61499 0.0 103.61499 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 [ 106.09113 0.0 106.09113 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 [ 108.56708 0.0 108.56708 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.04321 0.0 111.04321 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 [ 113.51935 0.0 113.51935 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.9953 0.0 115.9953 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 [ 118.47144 0.0 118.47144 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.94757 0.0 120.94757 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 [ 123.42352 0.0 123.42352 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 [ 125.89966 0.0 125.89966 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.3758 0.0 128.3758 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 [ 130.85193 0.0 130.85193 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.32788 0.0 133.32788 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 [ 135.80402 0.0 135.80402 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 [ 138.28015 0.0 138.28015 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 [ 140.7561 0.0 140.7561 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 [ 143.23224 0.0 143.23224 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 [ 145.70837 0.0 145.70837 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 [ 148.18433 0.0 148.18433 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.66046 0.0 150.66046 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 [ 153.1366 0.0 153.1366 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 [ 155.61255 0.0 155.61255 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 [ 158.08868 0.0 158.08868 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 [ 160.56482 0.0 160.56482 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.04095 0.0 163.04095 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 [ 165.5169 0.0 165.5169 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.99304 0.0 167.99304 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 2.2857 12.0 2.2857 /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 4.5716 12.0 4.5716 /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 6.8573 12.0 6.8573 /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 9.143 12.0 9.143 /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.42871 12.0 11.42871 /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 13.7146 12.0 13.7146 /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 16.0003 12.0 16.0003 /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 18.28601 12.0 18.28601 /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 20.5719 12.0 20.5719 /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 22.8576 12.0 22.8576 /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 25.14331 12.0 25.14331 /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.4292 12.0 27.4292 /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 29.7149 12.0 29.7149 /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 32.00061 12.0 32.00061 /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 34.28632 12.0 34.28632 /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 36.5722 12.0 36.5722 /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 38.85791 12.0 38.85791 /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 41.14362 12.0 41.14362 /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.4295 12.0 43.4295 /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 45.71521 12.0 45.71521 /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 48.00092 12.0 48.00092 /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 50.2868 12.0 50.2868 /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 52.57251 12.0 52.57251 /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 54.85822 12.0 54.85822 /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 57.14392 12.0 57.14392 /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.42981 12.0 59.42981 /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 61.71552 12.0 61.71552 /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 64.00122 12.0 64.00122 /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 66.28711 12.0 66.28711 /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 68.57281 12.0 68.57281 /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 70.85852 12.0 70.85852 /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 73.14441 12.0 73.14441 /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.43011 12.0 75.43011 /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 77.71582 12.0 77.71582 /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 80.00153 12.0 80.00153 /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 82.28741 12.0 82.28741 /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 84.57312 12.0 84.57312 /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 86.85883 12.0 86.85883 /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 89.14471 12.0 89.14471 /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.43042 12.0 91.43042 /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 93.71613 12.0 93.71613 /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 96.00183 12.0 96.00183 /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 98.28772 12.0 98.28772 /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 100.57343 12.0 100.57343 /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 102.85913 12.0 102.85913 /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 105.14502 12.0 105.14502 /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.43073 12.0 107.43073 /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 109.71643 12.0 109.71643 /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 112.00232 12.0 112.00232 /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 114.28802 12.0 114.28802 /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 116.57373 12.0 116.57373 /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 118.85944 12.0 118.85944 /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 121.14532 12.0 121.14532 /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.43103 12.0 123.43103 /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 125.71674 12.0 125.71674 /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 128.00262 12.0 128.00262 /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 130.28833 12.0 130.28833 /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 132.57404 12.0 132.57404 /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 134.85992 12.0 134.85992 /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 137.14563 12.0 137.14563 /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.43134 12.0 139.43134 /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 141.71704 12.0 141.71704 /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 144.00293 12.0 144.00293 /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 diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of4.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of4.eps new file mode 100644 index 00000000000..35ba96785c4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/b6of4.eps @@ -0,0 +1,33594 @@ +%!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 17:24:55 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:1722 +%%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->EE +%% 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 +/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 +%% +%% 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ß +% 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 +%% +%% 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 +%% +%% 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 +%% with contributions of Darrell Lamm 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.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 [ 14.47614 0.0 14.47614 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.95209 0.0 16.95209 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 [ 19.42822 0.0 19.42822 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 [ 21.90436 0.0 21.90436 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.38031 0.0 24.38031 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 [ 26.85645 0.0 26.85645 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.33258 0.0 29.33258 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 [ 31.80872 0.0 31.80872 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 [ 34.28467 0.0 34.28467 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 [ 36.7608 0.0 36.7608 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 [ 39.23694 0.0 39.23694 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 [ 41.71289 0.0 41.71289 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 [ 44.18903 0.0 44.18903 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.66516 0.0 46.66516 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 [ 49.14111 0.0 49.14111 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 [ 51.61725 0.0 51.61725 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 [ 54.09338 0.0 54.09338 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 [ 56.56952 0.0 56.56952 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.04547 0.0 59.04547 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 [ 61.5216 0.0 61.5216 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.99774 0.0 63.99774 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 [ 66.4737 0.0 66.4737 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.94983 0.0 68.94983 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 [ 71.42596 0.0 71.42596 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 [ 73.90192 0.0 73.90192 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.37805 0.0 76.37805 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 [ 78.85419 0.0 78.85419 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.33032 0.0 81.33032 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 [ 83.80627 0.0 83.80627 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 [ 86.28241 0.0 86.28241 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 [ 88.75854 0.0 88.75854 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 [ 91.2345 0.0 91.2345 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 [ 93.71063 0.0 93.71063 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 [ 96.18677 0.0 96.18677 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.66272 0.0 98.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 [ 101.13885 0.0 101.13885 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 [ 103.61499 0.0 103.61499 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 [ 106.09113 0.0 106.09113 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 [ 108.56708 0.0 108.56708 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.04321 0.0 111.04321 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 [ 113.51935 0.0 113.51935 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.9953 0.0 115.9953 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 [ 118.47144 0.0 118.47144 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.94757 0.0 120.94757 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 [ 123.42352 0.0 123.42352 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 [ 125.89966 0.0 125.89966 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.3758 0.0 128.3758 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 [ 130.85193 0.0 130.85193 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.32788 0.0 133.32788 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 [ 135.80402 0.0 135.80402 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 [ 138.28015 0.0 138.28015 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 [ 140.7561 0.0 140.7561 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 [ 143.23224 0.0 143.23224 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 [ 145.70837 0.0 145.70837 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 [ 148.18433 0.0 148.18433 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.66046 0.0 150.66046 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 [ 153.1366 0.0 153.1366 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 [ 155.61255 0.0 155.61255 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 [ 158.08868 0.0 158.08868 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 [ 160.56482 0.0 160.56482 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.04095 0.0 163.04095 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 [ 165.5169 0.0 165.5169 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.99304 0.0 167.99304 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 2.2857 12.0 2.2857 /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 4.5716 12.0 4.5716 /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 6.8573 12.0 6.8573 /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 9.143 12.0 9.143 /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.42871 12.0 11.42871 /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 13.7146 12.0 13.7146 /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 16.0003 12.0 16.0003 /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 18.28601 12.0 18.28601 /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 20.5719 12.0 20.5719 /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 22.8576 12.0 22.8576 /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 25.14331 12.0 25.14331 /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.4292 12.0 27.4292 /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 29.7149 12.0 29.7149 /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 32.00061 12.0 32.00061 /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 34.28632 12.0 34.28632 /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 36.5722 12.0 36.5722 /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 38.85791 12.0 38.85791 /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 41.14362 12.0 41.14362 /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.4295 12.0 43.4295 /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 45.71521 12.0 45.71521 /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 48.00092 12.0 48.00092 /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 50.2868 12.0 50.2868 /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 52.57251 12.0 52.57251 /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 54.85822 12.0 54.85822 /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 57.14392 12.0 57.14392 /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.42981 12.0 59.42981 /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 61.71552 12.0 61.71552 /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 64.00122 12.0 64.00122 /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 66.28711 12.0 66.28711 /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 68.57281 12.0 68.57281 /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 70.85852 12.0 70.85852 /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 73.14441 12.0 73.14441 /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.43011 12.0 75.43011 /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 77.71582 12.0 77.71582 /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 80.00153 12.0 80.00153 /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 82.28741 12.0 82.28741 /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 84.57312 12.0 84.57312 /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 86.85883 12.0 86.85883 /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 89.14471 12.0 89.14471 /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.43042 12.0 91.43042 /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 93.71613 12.0 93.71613 /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 96.00183 12.0 96.00183 /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 98.28772 12.0 98.28772 /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 100.57343 12.0 100.57343 /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 102.85913 12.0 102.85913 /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 105.14502 12.0 105.14502 /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.43073 12.0 107.43073 /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 109.71643 12.0 109.71643 /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 112.00232 12.0 112.00232 /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 114.28802 12.0 114.28802 /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 116.57373 12.0 116.57373 /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 118.85944 12.0 118.85944 /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 121.14532 12.0 121.14532 /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.43103 12.0 123.43103 /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 125.71674 12.0 125.71674 /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 128.00262 12.0 128.00262 /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 130.28833 12.0 130.28833 /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 132.57404 12.0 132.57404 /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 134.85992 12.0 134.85992 /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 137.14563 12.0 137.14563 /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.43134 12.0 139.43134 /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 141.71704 12.0 141.71704 /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 144.00293 12.0 144.00293 /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 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.5 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.5 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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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 1 0.1 +0.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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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 1 0.1 +0.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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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 1 0.1 +0.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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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 1 0.1 +0.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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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 1 0.1 +0.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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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 1 0.1 +0.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.66516 48.00092 46.66516 +50.28662 49.1413 50.28662 49.1413 48.00092 46.66516 48.00092 /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 1 0.1 +0.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 [ 44.18903 48.00092 44.18903 +50.28662 46.66516 50.28662 46.66516 48.00092 44.18903 48.00092 /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 1 0.1 +0.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 [ 44.18903 48.00092 44.18903 +50.28662 46.66516 50.28662 46.66516 48.00092 44.18903 48.00092 /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 1 0.1 +0.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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 1 0.1 +0.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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 1 0.1 +0.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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 1 0.1 +0.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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 1 0.1 +0.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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 1 0.1 +0.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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 1 0.1 +0.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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 1 0.1 +0.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 [ 44.18903 50.2868 44.18903 +52.57251 46.66516 52.57251 46.66516 50.2868 44.18903 50.2868 /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 1 0.1 +0.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 [ 44.18903 52.57251 44.18903 +54.85822 46.66516 54.85822 46.66516 52.57251 44.18903 52.57251 /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 1 0.1 +0.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 [ 44.18903 52.57251 44.18903 +54.85822 46.66516 54.85822 46.66516 52.57251 44.18903 52.57251 /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 1 0.1 +0.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 [ 44.18903 52.57251 44.18903 +54.85822 46.66516 54.85822 46.66516 52.57251 44.18903 52.57251 /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 1 0.1 +0.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 [ 44.18903 52.57251 44.18903 +54.85822 46.66516 54.85822 46.66516 52.57251 44.18903 52.57251 /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 1 0.1 +0.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 [ 41.71289 52.57251 41.71289 +54.85822 44.18903 54.85822 44.18903 52.57251 41.71289 52.57251 /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 1 0.1 +0.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 [ 41.71289 52.57251 41.71289 +54.85822 44.18903 54.85822 44.18903 52.57251 41.71289 52.57251 /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 1 0.1 +0.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 [ 41.71289 52.57251 41.71289 +54.85822 44.18903 54.85822 44.18903 52.57251 41.71289 52.57251 /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 1 0.1 +0.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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 1 0.1 +0.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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 1 0.1 +0.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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 1 0.1 +0.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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 1 0.1 +0.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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 1 0.1 +0.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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 1 0.1 +0.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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 1 0.1 +0.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 [ 41.71289 54.85822 41.71289 +57.14392 44.18903 57.14392 44.18903 54.85822 41.71289 54.85822 /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 1 0.1 +0.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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 1 0.1 +0.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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 1 0.1 +0.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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 1 0.1 +0.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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 1 0.1 +0.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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 1 0.1 +0.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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 1 0.1 +0.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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 1 0.1 +0.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 [ 41.71289 57.14392 41.71289 +59.42963 44.18903 59.42963 44.18903 57.14392 41.71289 57.14392 /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 1 0.1 +0.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 [ 41.71289 59.42981 41.71289 +61.71552 44.18903 61.71552 44.18903 59.42981 41.71289 59.42981 /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 1 0.1 +0.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 [ 41.71289 59.42981 41.71289 +61.71552 44.18903 61.71552 44.18903 59.42981 41.71289 59.42981 /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 1 0.1 +0.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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 1 0.1 +0.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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 1 0.1 +0.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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 1 0.1 +0.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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 1 0.1 +0.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 [ 39.23694 59.42981 39.23694 +61.71552 41.71307 61.71552 41.71307 59.42981 39.23694 59.42981 /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 1 0.1 +0.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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 1 0.1 +0.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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 1 0.1 +0.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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 1 0.1 +0.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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 1 0.1 +0.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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 1 0.1 +0.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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 1 0.1 +0.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 [ 39.23694 61.71552 39.23694 +64.00122 41.71307 64.00122 41.71307 61.71552 39.23694 61.71552 /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 1 0.1 +0.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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 1 0.1 +0.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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 1 0.1 +0.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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 1 0.1 +0.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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 1 0.1 +0.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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 1 0.1 +0.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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 1 0.1 +0.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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 1 0.1 +0.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 [ 39.23694 64.00122 39.23694 +66.28693 41.71307 66.28693 41.71307 64.00122 39.23694 64.00122 /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 1 0.1 +0.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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 1 0.1 +0.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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 1 0.1 +0.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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 1 0.1 +0.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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 1 0.1 +0.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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 1 0.1 +0.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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 1 0.1 +0.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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 1 0.1 +0.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 [ 39.23694 66.28711 39.23694 +68.57281 41.71307 68.57281 41.71307 66.28711 39.23694 66.28711 /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 1 0.1 +0.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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 1 0.1 +0.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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 1 0.1 +0.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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 1 0.1 +0.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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 1 0.1 +0.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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 1 0.1 +0.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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 1 0.1 +0.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 [ 39.23694 68.57281 39.23694 +70.85852 41.71307 70.85852 41.71307 68.57281 39.23694 68.57281 /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 1 0.1 +0.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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 1 0.1 +0.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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 1 0.1 +0.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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 1 0.1 +0.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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 1 0.1 +0.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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 1 0.1 +0.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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 1 0.1 +0.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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 1 0.1 +0.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 [ 39.23694 70.85852 39.23694 +73.14423 41.71307 73.14423 41.71307 70.85852 39.23694 70.85852 /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 1 0.1 +0.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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 1 0.1 +0.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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 1 0.1 +0.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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 1 0.1 +0.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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 1 0.1 +0.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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 1 0.1 +0.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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 1 0.1 +0.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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 1 0.1 +0.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 [ 39.23694 73.14441 39.23694 +75.43011 41.71307 75.43011 41.71307 73.14441 39.23694 73.14441 /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 1 0.1 +0.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 [ 39.23694 75.43011 39.23694 +77.71582 41.71307 77.71582 41.71307 75.43011 39.23694 75.43011 /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 1 0.1 +0.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 [ 39.23694 75.43011 39.23694 +77.71582 41.71307 77.71582 41.71307 75.43011 39.23694 75.43011 /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 1 0.1 +0.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 [ 39.23694 75.43011 39.23694 +77.71582 41.71307 77.71582 41.71307 75.43011 39.23694 75.43011 /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 1 0.1 +0.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 [ 39.23694 75.43011 39.23694 +77.71582 41.71307 77.71582 41.71307 75.43011 39.23694 75.43011 /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 1 0.1 +0.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 [ 41.71289 75.43011 41.71289 +77.71582 44.18903 77.71582 44.18903 75.43011 41.71289 75.43011 /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 1 0.1 +0.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 [ 41.71289 75.43011 41.71289 +77.71582 44.18903 77.71582 44.18903 75.43011 41.71289 75.43011 /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 1 0.1 +0.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 [ 41.71289 75.43011 41.71289 +77.71582 44.18903 77.71582 44.18903 75.43011 41.71289 75.43011 /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 1 0.1 +0.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 [ 41.71289 75.43011 41.71289 +77.71582 44.18903 77.71582 44.18903 75.43011 41.71289 75.43011 /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 1 0.1 +0.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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 1 0.1 +0.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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 1 0.1 +0.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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 1 0.1 +0.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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 1 0.1 +0.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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 1 0.1 +0.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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 1 0.1 +0.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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 1 0.1 +0.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 [ 41.71289 77.71582 41.71289 +80.00153 44.18903 80.00153 44.18903 77.71582 41.71289 77.71582 /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 1 0.1 +0.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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 1 0.1 +0.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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 1 0.1 +0.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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 1 0.1 +0.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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 1 0.1 +0.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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 1 0.1 +0.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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 1 0.1 +0.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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 1 0.1 +0.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 [ 41.71289 80.00153 41.71289 +82.28723 44.18903 82.28723 44.18903 80.00153 41.71289 80.00153 /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 1 0.1 +0.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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 1 0.1 +0.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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 1 0.1 +0.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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 1 0.1 +0.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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 1 0.1 +0.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 [ 41.71289 82.28741 41.71289 +84.57312 44.18903 84.57312 44.18903 82.28741 41.71289 82.28741 /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 1 0.1 +0.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 [ 44.18903 82.28741 44.18903 +84.57312 46.66516 84.57312 46.66516 82.28741 44.18903 82.28741 /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 1 0.1 +0.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 [ 44.18903 82.28741 44.18903 +84.57312 46.66516 84.57312 46.66516 82.28741 44.18903 82.28741 /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 1 0.1 +0.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 [ 44.18903 82.28741 44.18903 +84.57312 46.66516 84.57312 46.66516 82.28741 44.18903 82.28741 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 84.57312 44.18903 +86.85883 46.66516 86.85883 46.66516 84.57312 44.18903 84.57312 /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 1 0.1 +0.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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 1 0.1 +0.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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 1 0.1 +0.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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 1 0.1 +0.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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 1 0.1 +0.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 [ 44.18903 86.85883 44.18903 +89.14453 46.66516 89.14453 46.66516 86.85883 44.18903 86.85883 /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 1 0.1 +0.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.66516 86.85883 46.66516 +89.14453 49.1413 89.14453 49.1413 86.85883 46.66516 86.85883 /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 1 0.1 +0.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.66516 86.85883 46.66516 +89.14453 49.1413 89.14453 49.1413 86.85883 46.66516 86.85883 /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 1 0.1 +0.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.66516 86.85883 46.66516 +89.14453 49.1413 89.14453 49.1413 86.85883 46.66516 86.85883 /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 1 0.1 +0.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.66516 86.85883 46.66516 +89.14453 49.1413 89.14453 49.1413 86.85883 46.66516 86.85883 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 89.14471 46.66516 +91.43042 49.1413 91.43042 49.1413 89.14471 46.66516 89.14471 /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 1 0.1 +0.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.66516 91.43042 46.66516 +93.71613 49.1413 93.71613 49.1413 91.43042 46.66516 91.43042 /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 1 0.1 +0.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.66516 91.43042 46.66516 +93.71613 49.1413 93.71613 49.1413 91.43042 46.66516 91.43042 /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 1 0.1 +0.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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 1 0.1 +0.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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 1 0.1 +0.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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 1 0.1 +0.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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 1 0.1 +0.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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 1 0.1 +0.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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 1 0.1 +0.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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 1 0.1 +0.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 [ 49.14111 91.43042 49.14111 +93.71613 51.61725 93.71613 51.61725 91.43042 49.14111 91.43042 /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 1 0.1 +0.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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 1 0.1 +0.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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 1 0.1 +0.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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 1 0.1 +0.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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 1 0.1 +0.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 [ 49.14111 93.71613 49.14111 +96.00183 51.61725 96.00183 51.61725 93.71613 49.14111 93.71613 /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 1 0.1 +0.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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 1 0.1 +0.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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 1 0.1 +0.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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 1 0.1 +0.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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 1 0.1 +0.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 [ 51.61725 93.71613 51.61725 +96.00183 54.09338 96.00183 54.09338 93.71613 51.61725 93.71613 /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 1 0.1 +0.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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 1 0.1 +0.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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 1 0.1 +0.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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 1 0.1 +0.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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 1 0.1 +0.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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 1 0.1 +0.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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 1 0.1 +0.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 [ 51.61725 96.00183 51.61725 +98.28754 54.09338 98.28754 54.09338 96.00183 51.61725 96.00183 /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 1 0.1 +0.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 [ 54.09338 96.00183 54.09338 +98.28754 56.56952 98.28754 56.56952 96.00183 54.09338 96.00183 /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 1 0.1 +0.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 [ 54.09338 96.00183 54.09338 +98.28754 56.56952 98.28754 56.56952 96.00183 54.09338 96.00183 /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 1 0.1 +0.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 [ 54.09338 96.00183 54.09338 +98.28754 56.56952 98.28754 56.56952 96.00183 54.09338 96.00183 /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 1 0.1 +0.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 [ 54.09338 96.00183 54.09338 +98.28754 56.56952 98.28754 56.56952 96.00183 54.09338 96.00183 /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 1 0.1 +0.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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 1 0.1 +0.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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 1 0.1 +0.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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 1 0.1 +0.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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 1 0.1 +0.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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 1 0.1 +0.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 [ 54.09338 98.28772 54.09338 +100.57343 56.56952 100.57343 56.56952 98.28772 54.09338 98.28772 +/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 1 0.1 +0.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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 1 0.1 +0.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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 1 0.1 +0.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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 1 0.1 +0.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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 1 0.1 +0.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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 1 0.1 +0.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 [ 56.56952 98.28772 56.56952 +100.57343 59.04565 100.57343 59.04565 98.28772 56.56952 98.28772 +/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 1 0.1 +0.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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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 1 0.1 +0.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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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 1 0.1 +0.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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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 1 0.1 +0.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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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 1 0.1 +0.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 [ 56.56952 100.57343 56.56952 +102.85913 59.04565 102.85913 59.04565 100.57343 56.56952 100.57343 + /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 1 0.1 +0.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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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 1 0.1 +0.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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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 1 0.1 +0.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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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 1 0.1 +0.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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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 1 0.1 +0.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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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 1 0.1 +0.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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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 1 0.1 +0.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.04547 100.57343 59.04547 +102.85913 61.5216 102.85913 61.5216 100.57343 59.04547 100.57343 +/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 1 0.1 +0.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.04547 102.85913 59.04547 +105.14484 61.5216 105.14484 61.5216 102.85913 59.04547 102.85913 +/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 1 0.1 +0.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.04547 102.85913 59.04547 +105.14484 61.5216 105.14484 61.5216 102.85913 59.04547 102.85913 +/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 1 0.1 +0.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.04547 102.85913 59.04547 +105.14484 61.5216 105.14484 61.5216 102.85913 59.04547 102.85913 +/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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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 [ 61.5216 102.85913 61.5216 +105.14484 63.99774 105.14484 63.99774 102.85913 61.5216 102.85913 + /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 1 0.1 +0.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.99774 102.85913 63.99774 +105.14484 66.47388 105.14484 66.47388 102.85913 63.99774 102.85913 + /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 1 0.1 +0.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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 1 0.1 +0.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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 1 0.1 +0.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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 1 0.1 +0.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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 1 0.1 +0.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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 1 0.1 +0.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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 1 0.1 +0.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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 1 0.1 +0.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.99774 105.14502 63.99774 +107.43073 66.47388 107.43073 66.47388 105.14502 63.99774 105.14502 + /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 1 0.1 +0.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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 1 0.1 +0.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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 1 0.1 +0.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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 1 0.1 +0.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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 1 0.1 +0.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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 1 0.1 +0.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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 1 0.1 +0.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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 1 0.1 +0.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 [ 66.4737 105.14502 66.4737 +107.43073 68.94983 107.43073 68.94983 105.14502 66.4737 105.14502 + /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 1 0.1 +0.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 [ 66.4737 107.43073 66.4737 +109.71643 68.94983 109.71643 68.94983 107.43073 66.4737 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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.94983 107.43073 68.94983 +109.71643 71.42596 109.71643 71.42596 107.43073 68.94983 107.43073 + /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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 71.42596 107.43073 71.42596 +109.71643 73.9021 109.71643 73.9021 107.43073 71.42596 107.43073 +/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 1 0.1 +0.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 [ 73.90192 107.43073 73.90192 +109.71643 76.37805 109.71643 76.37805 107.43073 73.90192 107.43073 + /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 1 0.1 +0.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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 1 0.1 +0.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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 1 0.1 +0.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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 1 0.1 +0.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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 1 0.1 +0.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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 1 0.1 +0.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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 1 0.1 +0.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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 1 0.1 +0.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 [ 73.90192 109.71643 73.90192 +112.00214 76.37805 112.00214 76.37805 109.71643 73.90192 109.71643 + /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 1 0.1 +0.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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 1 0.1 +0.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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 1 0.1 +0.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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 1 0.1 +0.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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 1 0.1 +0.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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 1 0.1 +0.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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 1 0.1 +0.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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 1 0.1 +0.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.37805 109.71643 76.37805 +112.00214 78.85419 112.00214 78.85419 109.71643 76.37805 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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 [ 78.85419 109.71643 78.85419 +112.00214 81.33032 112.00214 81.33032 109.71643 78.85419 109.71643 + /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 1 0.1 +0.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.33032 109.71643 81.33032 +112.00214 83.80646 112.00214 83.80646 109.71643 81.33032 109.71643 + /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 1 0.1 +0.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.33032 109.71643 81.33032 +112.00214 83.80646 112.00214 83.80646 109.71643 81.33032 109.71643 + /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 1 0.1 +0.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.33032 109.71643 81.33032 +112.00214 83.80646 112.00214 83.80646 109.71643 81.33032 109.71643 + /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 1 0.1 +0.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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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 1 0.1 +0.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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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 1 0.1 +0.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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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 1 0.1 +0.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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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 1 0.1 +0.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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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 1 0.1 +0.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.33032 112.00232 81.33032 +114.28802 83.80646 114.28802 83.80646 112.00232 81.33032 112.00232 + /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 1 0.1 +0.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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 1 0.1 +0.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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 1 0.1 +0.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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 1 0.1 +0.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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 1 0.1 +0.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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 1 0.1 +0.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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 1 0.1 +0.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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 1 0.1 +0.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 [ 83.80627 112.00232 83.80627 +114.28802 86.28241 114.28802 86.28241 112.00232 83.80627 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 86.28241 112.00232 86.28241 +114.28802 88.75854 114.28802 88.75854 112.00232 86.28241 112.00232 + /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 1 0.1 +0.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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 1 0.1 +0.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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 1 0.1 +0.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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 1 0.1 +0.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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 1 0.1 +0.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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 1 0.1 +0.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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 1 0.1 +0.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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 1 0.1 +0.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 [ 88.75854 112.00232 88.75854 +114.28802 91.23468 114.28802 91.23468 112.00232 88.75854 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 91.2345 112.00232 91.2345 +114.28802 93.71063 114.28802 93.71063 112.00232 91.2345 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 93.71063 112.00232 93.71063 +114.28802 96.18677 114.28802 96.18677 112.00232 93.71063 112.00232 + /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 1 0.1 +0.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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 1 0.1 +0.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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 1 0.1 +0.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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 1 0.1 +0.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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 1 0.1 +0.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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 1 0.1 +0.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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 1 0.1 +0.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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 1 0.1 +0.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 [ 96.18677 112.00232 96.18677 +114.28802 98.6629 114.28802 98.6629 112.00232 96.18677 112.00232 +/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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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.66272 112.00232 98.66272 +114.28802 101.13885 114.28802 101.13885 112.00232 98.66272 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 101.13885 112.00232 101.13885 +114.28802 103.61499 114.28802 103.61499 112.00232 101.13885 112.00232 + /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 1 0.1 +0.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 [ 103.61499 112.00232 103.61499 +114.28802 106.09113 114.28802 106.09113 112.00232 103.61499 112.00232 + /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 1 0.1 +0.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 [ 103.61499 112.00232 103.61499 +114.28802 106.09113 114.28802 106.09113 112.00232 103.61499 112.00232 + /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 1 0.1 +0.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 [ 103.61499 112.00232 103.61499 +114.28802 106.09113 114.28802 106.09113 112.00232 103.61499 112.00232 + /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 1 0.1 +0.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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 1 0.1 +0.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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 1 0.1 +0.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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 1 0.1 +0.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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 1 0.1 +0.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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 1 0.1 +0.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 [ 103.61499 109.71643 103.61499 +112.00214 106.09113 112.00214 106.09113 109.71643 103.61499 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 106.09113 109.71643 106.09113 +112.00214 108.56726 112.00214 108.56726 109.71643 106.09113 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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 [ 108.56708 109.71643 108.56708 +112.00214 111.04321 112.00214 111.04321 109.71643 108.56708 109.71643 + /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 1 0.1 +0.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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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 1 0.1 +0.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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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 1 0.1 +0.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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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 1 0.1 +0.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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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 1 0.1 +0.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.04321 109.71643 111.04321 +112.00214 113.51935 112.00214 113.51935 109.71643 111.04321 109.71643 + /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 1 0.1 +0.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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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 1 0.1 +0.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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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 1 0.1 +0.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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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 1 0.1 +0.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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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 1 0.1 +0.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.04321 107.43073 111.04321 +109.71643 113.51935 109.71643 113.51935 107.43073 111.04321 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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 [ 113.51935 107.43073 113.51935 +109.71643 115.99548 109.71643 115.99548 107.43073 113.51935 107.43073 + /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 1 0.1 +0.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.9953 107.43073 115.9953 +109.71643 118.47144 109.71643 118.47144 107.43073 115.9953 107.43073 + /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 1 0.1 +0.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.9953 107.43073 115.9953 +109.71643 118.47144 109.71643 118.47144 107.43073 115.9953 107.43073 + /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 1 0.1 +0.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.9953 107.43073 115.9953 +109.71643 118.47144 109.71643 118.47144 107.43073 115.9953 107.43073 + /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 1 0.1 +0.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.9953 107.43073 115.9953 +109.71643 118.47144 109.71643 118.47144 107.43073 115.9953 107.43073 + /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 1 0.1 +0.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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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 1 0.1 +0.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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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 1 0.1 +0.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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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 1 0.1 +0.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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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 1 0.1 +0.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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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 1 0.1 +0.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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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 1 0.1 +0.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.9953 105.14502 115.9953 +107.43073 118.47144 107.43073 118.47144 105.14502 115.9953 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 105.14502 118.47144 +107.43073 120.94757 107.43073 120.94757 105.14502 118.47144 105.14502 + /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 1 0.1 +0.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 [ 118.47144 102.85913 118.47144 +105.14484 120.94757 105.14484 120.94757 102.85913 118.47144 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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.94757 102.85913 120.94757 +105.14484 123.4237 105.14484 123.4237 102.85913 120.94757 102.85913 + /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 1 0.1 +0.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 [ 123.42352 102.85913 123.42352 +105.14484 125.89966 105.14484 125.89966 102.85913 123.42352 102.85913 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 123.42352 100.57343 123.42352 +102.85913 125.89966 102.85913 125.89966 100.57343 123.42352 100.57343 + /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 1 0.1 +0.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 [ 125.89966 100.57343 125.89966 +102.85913 128.3758 102.85913 128.3758 100.57343 125.89966 100.57343 + /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 1 0.1 +0.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 [ 125.89966 100.57343 125.89966 +102.85913 128.3758 102.85913 128.3758 100.57343 125.89966 100.57343 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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 [ 125.89966 98.28772 125.89966 +100.57343 128.3758 100.57343 128.3758 98.28772 125.89966 98.28772 + /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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 96.00183 128.3758 +98.28754 130.85193 98.28754 130.85193 96.00183 128.3758 96.00183 +/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 1 0.1 +0.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.3758 93.71613 128.3758 +96.00183 130.85193 96.00183 130.85193 93.71613 128.3758 93.71613 +/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 1 0.1 +0.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.3758 93.71613 128.3758 +96.00183 130.85193 96.00183 130.85193 93.71613 128.3758 93.71613 +/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 1 0.1 +0.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.3758 93.71613 128.3758 +96.00183 130.85193 96.00183 130.85193 93.71613 128.3758 93.71613 +/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 1 0.1 +0.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.3758 93.71613 128.3758 +96.00183 130.85193 96.00183 130.85193 93.71613 128.3758 93.71613 +/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 1 0.1 +0.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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 1 0.1 +0.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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 1 0.1 +0.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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 1 0.1 +0.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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 1 0.1 +0.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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 1 0.1 +0.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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 1 0.1 +0.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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 1 0.1 +0.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 [ 130.85193 93.71613 130.85193 +96.00183 133.32806 96.00183 133.32806 93.71613 130.85193 93.71613 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 91.43042 130.85193 +93.71613 133.32806 93.71613 133.32806 91.43042 130.85193 91.43042 + /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 1 0.1 +0.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 [ 130.85193 89.14471 130.85193 +91.43042 133.32806 91.43042 133.32806 89.14471 130.85193 89.14471 + /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 1 0.1 +0.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 [ 130.85193 89.14471 130.85193 +91.43042 133.32806 91.43042 133.32806 89.14471 130.85193 89.14471 + /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 1 0.1 +0.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 [ 130.85193 89.14471 130.85193 +91.43042 133.32806 91.43042 133.32806 89.14471 130.85193 89.14471 + /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 1 0.1 +0.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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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 1 0.1 +0.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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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 1 0.1 +0.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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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 1 0.1 +0.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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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 1 0.1 +0.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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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 1 0.1 +0.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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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 1 0.1 +0.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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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 1 0.1 +0.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.32788 89.14471 133.32788 +91.43042 135.80402 91.43042 135.80402 89.14471 133.32788 89.14471 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 86.85883 133.32788 +89.14453 135.80402 89.14453 135.80402 86.85883 133.32788 86.85883 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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.32788 84.57312 133.32788 +86.85883 135.80402 86.85883 135.80402 84.57312 133.32788 84.57312 + /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 1 0.1 +0.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 [ 135.80402 84.57312 135.80402 +86.85883 138.28015 86.85883 138.28015 84.57312 135.80402 84.57312 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 82.28741 135.80402 +84.57312 138.28015 84.57312 138.28015 82.28741 135.80402 82.28741 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 80.00153 135.80402 +82.28723 138.28015 82.28723 138.28015 80.00153 135.80402 80.00153 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 77.71582 135.80402 +80.00153 138.28015 80.00153 138.28015 77.71582 135.80402 77.71582 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 75.43011 135.80402 +77.71582 138.28015 77.71582 138.28015 75.43011 135.80402 75.43011 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 73.14441 135.80402 +75.43011 138.28015 75.43011 138.28015 73.14441 135.80402 73.14441 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 70.85852 135.80402 +73.14423 138.28015 73.14423 138.28015 70.85852 135.80402 70.85852 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 68.57281 135.80402 +70.85852 138.28015 70.85852 138.28015 68.57281 135.80402 68.57281 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 66.28711 135.80402 +68.57281 138.28015 68.57281 138.28015 66.28711 135.80402 66.28711 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 64.00122 135.80402 +66.28693 138.28015 66.28693 138.28015 64.00122 135.80402 64.00122 + /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 1 0.1 +0.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 [ 135.80402 61.71552 135.80402 +64.00122 138.28015 64.00122 138.28015 61.71552 135.80402 61.71552 + /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 1 0.1 +0.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 [ 135.80402 61.71552 135.80402 +64.00122 138.28015 64.00122 138.28015 61.71552 135.80402 61.71552 + /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 1 0.1 +0.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 [ 135.80402 61.71552 135.80402 +64.00122 138.28015 64.00122 138.28015 61.71552 135.80402 61.71552 + /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 1 0.1 +0.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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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 1 0.1 +0.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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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 1 0.1 +0.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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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 1 0.1 +0.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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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 1 0.1 +0.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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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 1 0.1 +0.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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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 1 0.1 +0.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.32788 61.71552 133.32788 +64.00122 135.80402 64.00122 135.80402 61.71552 133.32788 61.71552 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 59.42981 133.32788 +61.71552 135.80402 61.71552 135.80402 59.42981 133.32788 59.42981 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 57.14392 133.32788 +59.42963 135.80402 59.42963 135.80402 57.14392 133.32788 57.14392 + /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 1 0.1 +0.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.32788 54.85822 133.32788 +57.14392 135.80402 57.14392 135.80402 54.85822 133.32788 54.85822 + /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 1 0.1 +0.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.32788 54.85822 133.32788 +57.14392 135.80402 57.14392 135.80402 54.85822 133.32788 54.85822 + /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 1 0.1 +0.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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 1 0.1 +0.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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 1 0.1 +0.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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 1 0.1 +0.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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 1 0.1 +0.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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 1 0.1 +0.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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 1 0.1 +0.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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 1 0.1 +0.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 [ 130.85193 54.85822 130.85193 +57.14392 133.32806 57.14392 133.32806 54.85822 130.85193 54.85822 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 52.57251 130.85193 +54.85822 133.32806 54.85822 133.32806 52.57251 130.85193 52.57251 + /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 1 0.1 +0.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 [ 130.85193 50.2868 130.85193 +52.57251 133.32806 52.57251 133.32806 50.2868 130.85193 50.2868 /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 1 0.1 +0.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 [ 130.85193 50.2868 130.85193 +52.57251 133.32806 52.57251 133.32806 50.2868 130.85193 50.2868 /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 1 0.1 +0.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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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 1 0.1 +0.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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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 1 0.1 +0.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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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 1 0.1 +0.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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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 1 0.1 +0.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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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 1 0.1 +0.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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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 1 0.1 +0.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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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 1 0.1 +0.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.3758 50.2868 128.3758 +52.57251 130.85193 52.57251 130.85193 50.2868 128.3758 50.2868 /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 1 0.1 +0.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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 1 0.1 +0.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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 1 0.1 +0.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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 1 0.1 +0.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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 1 0.1 +0.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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 1 0.1 +0.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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 1 0.1 +0.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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 1 0.1 +0.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.3758 48.00092 128.3758 +50.28662 130.85193 50.28662 130.85193 48.00092 128.3758 48.00092 +/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 1 0.1 +0.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 [ 125.89966 48.00092 125.89966 +50.28662 128.3758 50.28662 128.3758 48.00092 125.89966 48.00092 /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 1 0.1 +0.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 [ 125.89966 48.00092 125.89966 +50.28662 128.3758 50.28662 128.3758 48.00092 125.89966 48.00092 /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 1 0.1 +0.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 [ 125.89966 48.00092 125.89966 +50.28662 128.3758 50.28662 128.3758 48.00092 125.89966 48.00092 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 45.71521 125.89966 +48.00092 128.3758 48.00092 128.3758 45.71521 125.89966 45.71521 /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 1 0.1 +0.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 [ 125.89966 43.4295 125.89966 +45.71521 128.3758 45.71521 128.3758 43.4295 125.89966 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 43.4295 123.42352 +45.71521 125.89966 45.71521 125.89966 43.4295 123.42352 43.4295 /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 1 0.1 +0.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 [ 123.42352 41.14362 123.42352 +43.42932 125.89966 43.42932 125.89966 41.14362 123.42352 41.14362 + /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 1 0.1 +0.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 [ 123.42352 41.14362 123.42352 +43.42932 125.89966 43.42932 125.89966 41.14362 123.42352 41.14362 + /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 1 0.1 +0.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 [ 123.42352 41.14362 123.42352 +43.42932 125.89966 43.42932 125.89966 41.14362 123.42352 41.14362 + /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 41.14362 120.94757 +43.42932 123.4237 43.42932 123.4237 41.14362 120.94757 41.14362 /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 1 0.1 +0.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.94757 38.85791 120.94757 +41.14362 123.4237 41.14362 123.4237 38.85791 120.94757 38.85791 /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 1 0.1 +0.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.94757 38.85791 120.94757 +41.14362 123.4237 41.14362 123.4237 38.85791 120.94757 38.85791 /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 1 0.1 +0.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.94757 38.85791 120.94757 +41.14362 123.4237 41.14362 123.4237 38.85791 120.94757 38.85791 /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 38.85791 118.47144 +41.14362 120.94757 41.14362 120.94757 38.85791 118.47144 38.85791 + /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 1 0.1 +0.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 [ 118.47144 36.5722 118.47144 +38.85791 120.94757 38.85791 120.94757 36.5722 118.47144 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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.9953 36.5722 115.9953 +38.85791 118.47144 38.85791 118.47144 36.5722 115.9953 36.5722 /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 1 0.1 +0.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 [ 113.51935 36.5722 113.51935 +38.85791 115.99548 38.85791 115.99548 36.5722 113.51935 36.5722 /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 1 0.1 +0.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 [ 113.51935 36.5722 113.51935 +38.85791 115.99548 38.85791 115.99548 36.5722 113.51935 36.5722 /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 1 0.1 +0.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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 1 0.1 +0.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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 1 0.1 +0.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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 1 0.1 +0.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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 1 0.1 +0.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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 1 0.1 +0.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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 1 0.1 +0.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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 1 0.1 +0.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 [ 113.51935 34.28632 113.51935 +36.57202 115.99548 36.57202 115.99548 34.28632 113.51935 34.28632 + /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 1 0.1 +0.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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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 1 0.1 +0.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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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 1 0.1 +0.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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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 1 0.1 +0.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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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 1 0.1 +0.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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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 1 0.1 +0.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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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 1 0.1 +0.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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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 1 0.1 +0.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.04321 34.28632 111.04321 +36.57202 113.51935 36.57202 113.51935 34.28632 111.04321 34.28632 + /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 1 0.1 +0.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.04321 32.00061 111.04321 +34.28632 113.51935 34.28632 113.51935 32.00061 111.04321 32.00061 + /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 1 0.1 +0.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.04321 32.00061 111.04321 +34.28632 113.51935 34.28632 113.51935 32.00061 111.04321 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 108.56708 32.00061 108.56708 +34.28632 111.04321 34.28632 111.04321 32.00061 108.56708 32.00061 + /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 1 0.1 +0.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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 1 0.1 +0.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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 1 0.1 +0.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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 1 0.1 +0.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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 1 0.1 +0.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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 1 0.1 +0.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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 1 0.1 +0.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 [ 106.09113 32.00061 106.09113 +34.28632 108.56726 34.28632 108.56726 32.00061 106.09113 32.00061 + /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 1 0.1 +0.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 [ 106.09113 29.7149 106.09113 +32.00061 108.56726 32.00061 108.56726 29.7149 106.09113 29.7149 /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 1 0.1 +0.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 [ 106.09113 29.7149 106.09113 +32.00061 108.56726 32.00061 108.56726 29.7149 106.09113 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 103.61499 29.7149 103.61499 +32.00061 106.09113 32.00061 106.09113 29.7149 103.61499 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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 [ 101.13885 29.7149 101.13885 +32.00061 103.61499 32.00061 103.61499 29.7149 101.13885 29.7149 /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 1 0.1 +0.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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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 1 0.1 +0.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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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 1 0.1 +0.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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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 1 0.1 +0.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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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 1 0.1 +0.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.66272 29.7149 98.66272 +32.00061 101.13885 32.00061 101.13885 29.7149 98.66272 29.7149 /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 1 0.1 +0.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.66272 27.4292 98.66272 +29.7149 101.13885 29.7149 101.13885 27.4292 98.66272 27.4292 /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 1 0.1 +0.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.66272 27.4292 98.66272 +29.7149 101.13885 29.7149 101.13885 27.4292 98.66272 27.4292 /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 1 0.1 +0.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.66272 27.4292 98.66272 +29.7149 101.13885 29.7149 101.13885 27.4292 98.66272 27.4292 /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 1 0.1 +0.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.66272 27.4292 98.66272 +29.7149 101.13885 29.7149 101.13885 27.4292 98.66272 27.4292 /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 1 0.1 +0.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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 1 0.1 +0.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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 1 0.1 +0.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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 1 0.1 +0.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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 1 0.1 +0.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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 1 0.1 +0.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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 1 0.1 +0.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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 1 0.1 +0.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 [ 96.18677 27.4292 96.18677 +29.7149 98.6629 29.7149 98.6629 27.4292 96.18677 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 93.71063 27.4292 93.71063 +29.7149 96.18677 29.7149 96.18677 27.4292 93.71063 27.4292 /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 1 0.1 +0.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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 1 0.1 +0.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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 1 0.1 +0.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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 1 0.1 +0.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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 1 0.1 +0.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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 1 0.1 +0.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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 1 0.1 +0.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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 1 0.1 +0.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 [ 91.2345 27.4292 91.2345 +29.7149 93.71063 29.7149 93.71063 27.4292 91.2345 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 88.75854 27.4292 88.75854 +29.7149 91.23468 29.7149 91.23468 27.4292 88.75854 27.4292 /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 1 0.1 +0.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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 1 0.1 +0.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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 1 0.1 +0.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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 1 0.1 +0.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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 1 0.1 +0.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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 1 0.1 +0.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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 1 0.1 +0.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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 1 0.1 +0.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 [ 86.28241 27.4292 86.28241 +29.7149 88.75854 29.7149 88.75854 27.4292 86.28241 27.4292 /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 1 0.1 +0.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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 1 0.1 +0.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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 1 0.1 +0.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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 1 0.1 +0.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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 1 0.1 +0.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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 1 0.1 +0.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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 1 0.1 +0.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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 1 0.1 +0.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 [ 83.80627 27.4292 83.80627 +29.7149 86.28241 29.7149 86.28241 27.4292 83.80627 27.4292 /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 1 0.1 +0.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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 1 0.1 +0.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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 1 0.1 +0.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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 1 0.1 +0.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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 1 0.1 +0.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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 1 0.1 +0.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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 1 0.1 +0.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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 1 0.1 +0.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.33032 27.4292 81.33032 +29.7149 83.80646 29.7149 83.80646 27.4292 81.33032 27.4292 /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 1 0.1 +0.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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 1 0.1 +0.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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 1 0.1 +0.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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 1 0.1 +0.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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 1 0.1 +0.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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 1 0.1 +0.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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 1 0.1 +0.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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 1 0.1 +0.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 [ 78.85419 27.4292 78.85419 +29.7149 81.33032 29.7149 81.33032 27.4292 78.85419 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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.37805 27.4292 76.37805 +29.7149 78.85419 29.7149 78.85419 27.4292 76.37805 27.4292 /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 1 0.1 +0.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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 1 0.1 +0.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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 1 0.1 +0.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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 1 0.1 +0.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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 1 0.1 +0.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 [ 73.90192 27.4292 73.90192 +29.7149 76.37805 29.7149 76.37805 27.4292 73.90192 27.4292 /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 1 0.1 +0.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 [ 73.90192 29.7149 73.90192 +32.00061 76.37805 32.00061 76.37805 29.7149 73.90192 29.7149 /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 1 0.1 +0.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 [ 73.90192 29.7149 73.90192 +32.00061 76.37805 32.00061 76.37805 29.7149 73.90192 29.7149 /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 1 0.1 +0.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 [ 73.90192 29.7149 73.90192 +32.00061 76.37805 32.00061 76.37805 29.7149 73.90192 29.7149 /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 1 0.1 +0.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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 1 0.1 +0.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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 1 0.1 +0.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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 1 0.1 +0.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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 1 0.1 +0.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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 1 0.1 +0.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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 1 0.1 +0.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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 1 0.1 +0.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 [ 71.42596 29.7149 71.42596 +32.00061 73.9021 32.00061 73.9021 29.7149 71.42596 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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.94983 29.7149 68.94983 +32.00061 71.42596 32.00061 71.42596 29.7149 68.94983 29.7149 /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 1 0.1 +0.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 [ 66.4737 29.7149 66.4737 +32.00061 68.94983 32.00061 68.94983 29.7149 66.4737 29.7149 /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 1 0.1 +0.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 [ 66.4737 29.7149 66.4737 +32.00061 68.94983 32.00061 68.94983 29.7149 66.4737 29.7149 /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 1 0.1 +0.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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 1 0.1 +0.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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 1 0.1 +0.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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 1 0.1 +0.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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 1 0.1 +0.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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 1 0.1 +0.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 [ 66.4737 32.00061 66.4737 +34.28632 68.94983 34.28632 68.94983 32.00061 66.4737 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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.99774 32.00061 63.99774 +34.28632 66.47388 34.28632 66.47388 32.00061 63.99774 32.00061 /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 1 0.1 +0.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 [ 61.5216 32.00061 61.5216 +34.28632 63.99774 34.28632 63.99774 32.00061 61.5216 32.00061 /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 1 0.1 +0.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 [ 61.5216 32.00061 61.5216 +34.28632 63.99774 34.28632 63.99774 32.00061 61.5216 32.00061 /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 1 0.1 +0.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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 1 0.1 +0.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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 1 0.1 +0.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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 1 0.1 +0.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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 1 0.1 +0.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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 1 0.1 +0.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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 1 0.1 +0.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 [ 61.5216 34.28632 61.5216 +36.57202 63.99774 36.57202 63.99774 34.28632 61.5216 34.28632 /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 1 0.1 +0.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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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 1 0.1 +0.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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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 1 0.1 +0.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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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 1 0.1 +0.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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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 1 0.1 +0.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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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 1 0.1 +0.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.04547 34.28632 59.04547 +36.57202 61.5216 36.57202 61.5216 34.28632 59.04547 34.28632 /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 1 0.1 +0.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.04547 36.5722 59.04547 +38.85791 61.5216 38.85791 61.5216 36.5722 59.04547 36.5722 /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 1 0.1 +0.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.04547 36.5722 59.04547 +38.85791 61.5216 38.85791 61.5216 36.5722 59.04547 36.5722 /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 1 0.1 +0.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.04547 36.5722 59.04547 +38.85791 61.5216 38.85791 61.5216 36.5722 59.04547 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 56.56952 36.5722 56.56952 +38.85791 59.04565 38.85791 59.04565 36.5722 56.56952 36.5722 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 54.09338 38.85791 54.09338 +41.14362 56.56952 41.14362 56.56952 38.85791 54.09338 38.85791 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 51.61725 41.14362 51.61725 +43.42932 54.09338 43.42932 54.09338 41.14362 51.61725 41.14362 /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 1 0.1 +0.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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 1 0.1 +0.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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 1 0.1 +0.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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 1 0.1 +0.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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 1 0.1 +0.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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 1 0.1 +0.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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 1 0.1 +0.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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 1 0.1 +0.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 [ 49.14111 43.4295 49.14111 +45.71521 51.61725 45.71521 51.61725 43.4295 49.14111 43.4295 /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 1 0.1 +0.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 [ 49.14111 45.71521 49.14111 +48.00092 51.61725 48.00092 51.61725 45.71521 49.14111 45.71521 /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 1 0.1 +0.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 [ 49.14111 45.71521 49.14111 +48.00092 51.61725 48.00092 51.61725 45.71521 49.14111 45.71521 /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 1 0.1 +0.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 [ 49.14111 45.71521 49.14111 +48.00092 51.61725 48.00092 51.61725 45.71521 49.14111 45.71521 /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 1 0.1 +0.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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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 1 0.1 +0.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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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 1 0.1 +0.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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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 1 0.1 +0.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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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 1 0.1 +0.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.66516 45.71521 46.66516 +48.00092 49.1413 48.00092 49.1413 45.71521 46.66516 45.71521 /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 1 0.1 +0.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.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 diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec1.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec1.eps deleted file mode 100644 index b45000cb96e..00000000000 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec1.eps +++ /dev/null @@ -1,15843 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software -%%Title: testps-fig1.dvi -%%CreationDate: Tue Oct 01 20:06:45 2013 -%%Pages: 1 -%%PageOrder: Ascend -%%BoundingBox: 101 519 279 699 -%%DocumentFonts: CMR8 CMSY8 -%%DocumentPaperSizes: Letter -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: DVIPS.EXE testps-fig1 -%DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2013.10.01:2006 -%%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 755 2013-03-09 08:48:58Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 1.15, 2012/10/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. -% -% -% Define the follwing gs-functions if not known, eg when using distiller -% -systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if -systemdict /.setblendmode known not {/.setblendmode { pop } def } if -systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if -% -/tx@Dict 200 dict def % the main PSTricks dictionary -tx@Dict begin -/ADict 25 dict def % The arrow dictionaray -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments -/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known -/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) -/Div { dup 0 eq { pop } { div } ifelse } def % control the division -/tan { dup cos abs 1.e-10 lt - { pop 1.e10 } % return 1.e10 as infinit - { dup sin exch cos div } ifelse % default sin/cos -} def -/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees -/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root - pop pop 0 }{ sqrt exch atan} ifelse } def -/NET { neg exch neg exch T } def % change coordinate system to the negative one -/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter -/Pyth2 { % Pythagoras, xA yA xB yB - 3 -1 roll % xA xB yB yA - sub % xA xB yB-yA - 3 1 roll % yB-yA xA xB - sub % yB-yA xA-xB - Pyth } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian -/Rand { rand 4294967295 div } def % a real random number -%----------------- hv added 20050516 --------------- -/PiDiv2 1.57079632680 def -/Pi 3.14159265359 def -/TwoPi 6.28318530718 def -/Euler 2.71828182846 def -%/e Euler bind def -% -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa -%----------------- hv end--------------------------- -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def -% -/PathLength { - flattenpath /z 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } - { /y ED /x ED PathLength@ } - {} - { /y y2 def /x x2 def PathLength@ } - /pathforall load stopped { pop pop pop pop } if - z -} def -% -/STP { .996264 dup scale } def % BP/PT scaling -/STV { SDict begin normalscale end STP } def % -% -/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 594 2011-10-31 18:13:18Z 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->EE -%% 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 -/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 130 2009-08-27 08:55:03Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 2.02, 2009/06/16 -%% -%% For distribution, see pstricks.tex. -%% -%% Timothy Van Zandt -%% -%% 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ß -% 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 -%% -%% 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 -%% -%% 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 -%% with contributions of Darrell Lamm 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: texps.pro 0 0 -%! -TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 -index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub -dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ -dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 -roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def -dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} -if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} -def end - -%%EndProcSet -%%BeginProcSet: special.pro 0 0 -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/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 -%%BeginFont: CMSY8 -%!PS-AdobeFont-1.0: CMSY8 003.002 -%%Title: CMSY8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSY8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup -/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY8 def -/FontBBox {-30 -955 1185 779 }readonly def -/UniqueID 5096649 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def -/FullName (CMSY8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /minus put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 -0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 -14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 -7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 -2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 -DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 -209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 -2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 -B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 -24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 -65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 -88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD -CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 -B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 -B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED -516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 -11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 -44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF -E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F -67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F -81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 -26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 -2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 -90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 -609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE -E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 -48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 -8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 -8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 -AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD -1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 -56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 -1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 -3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 -46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 -38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 -6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C -BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 -40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 -023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A -579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 -5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 -31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 -F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 -D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 -285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 -FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A -D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 -4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C -1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC -82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E -08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 -B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD -72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 -E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 -198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 -C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 -EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B -B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 -304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 -FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E -02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 -130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 -F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D -07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 -ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 -24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C -1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED -55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 -546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF -22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 -5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D -6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 -248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 -E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 -E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 -F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 -CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD -15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC -3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 -1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A -A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 -8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 -7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 -DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E -9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 -83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 -307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 -39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 -805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D -6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 -3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C -08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 -A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 -866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 -C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 -75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B -893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD -CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 -491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D -8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A -3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 -B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 -64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B -167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 -E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B -A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 -D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF -0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D -C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D -628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD -C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 -5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 -302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 -2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 -9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 -491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 -5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 -35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC -1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 -3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 -7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 -3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 -B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D -289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 -EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 -DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 -BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C -42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B -9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 -A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA -9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 -5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 -67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A -3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 -36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 -9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 -89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 -63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 -7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 -72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 -C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 -BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 -AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B -D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 -B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C -5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 -93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 -C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 -4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA -058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D -74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 -A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 -42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 -516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 -2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 -A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 -2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F -46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 -EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 -9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B -3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 -6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 -E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 -B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 -89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A -1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A -310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 -33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 -1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 -BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 -06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C -2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 -CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 -80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 -577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 -F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 -B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 -95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD -8E24F52934 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR8 -%!PS-AdobeFont-1.0: CMR8 003.002 -%%Title: CMR8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup -/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR8 def -/FontBBox {-36 -250 1070 750 }readonly def -/UniqueID 5000791 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def -/FullName (CMR8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 49 /one put -dup 50 /two put -dup 51 /three put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B -8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF -27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF -18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB -7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A -DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 -6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 -B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 -2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 -3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 -9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 -7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D -25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 -CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD -A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 -DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE -EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB -16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 -07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E -B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B -B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C -F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 -762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 -D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 -CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C -74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 -1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 -E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 -3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE -37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 -7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 -C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 -A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D -7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 -CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD -3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC -FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 -59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 -6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 -79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 -F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B -49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 -2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B -29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F -2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 -5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 -EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 -5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E -293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF -F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 -568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 -64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C -DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 -A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 -267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D -136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 -A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 -80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 -D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB -46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A -E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 -66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 -2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 -CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF -2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 -DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C -DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B -C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 -CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B -0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F -CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E -F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 -CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 -7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF -6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 -6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C -72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 -13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE -6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 -1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 -86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 -D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B -70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 -0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 -FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 -52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 -7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B -F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA -09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 -401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 -74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 -3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 -ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 -93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 -301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 -F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 -1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E -36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 -34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C -CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 -ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B -9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 -E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A -893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 -E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE -0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 -B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB -A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 -B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F -3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 -AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 -98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF -4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B -F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 -AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E -015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A -167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F -9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 -CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 -130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 -2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D -A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 -C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 -ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A -CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 -3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 -E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 -3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 -3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D -947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 -26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 -0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 -984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E -FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 -44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 -603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B -6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C -D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE -276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF -809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 -08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 -3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF -76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 -A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 -3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 -966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 -CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 -2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF -94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 -DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 -9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 -FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E -1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 -24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C -06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC -6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 -F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 -26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 -D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 -49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 -064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A -E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A -D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 -8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 -2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 -52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 -17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF -145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F -2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 -5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 -B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 -9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 -0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 -8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 -6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC -78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 -368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB -7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED -6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE -91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B -DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 -6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F -AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA -3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D -5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E -F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 -D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 -7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 -6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A -0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE -63150A652A07E2AD6080FFA6DC62C23A735C8A062333 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) -@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 -35 49[{}3 66.4176 /CMR8 rf 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 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-3.00))^2))*(sin(-3.00)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 -901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-3.00))^2))*(sin(-2.6)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a -998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-3.00))^2))*(sin(-2.2)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-3.00))^2))*(sin(-1.8)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-3.00))^2))*(sin(-1.4)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-3.00))^2))*(sin(-1.0)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-3.00))^2))*(sin(-0.6)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-3.00))^2))*(sin(-0.2)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-3.00))^2))*(sin(0.2)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-3.00))^2))*(sin(0.6)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-3.00))^2))*(sin(1.0)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-3.00))^2))*(sin(1.4)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-3.00))^2))*(sin(1.8)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-3.00))^2))*(sin(2.2)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-3.00))^2))*(sin(2.6)*cos(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.6))^2))*(sin(-3.00)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.6))^2))*(sin(-2.6)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.6))^2))*(sin(-2.2)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.6))^2))*(sin(-1.8)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.6))^2))*(sin(-1.4)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.6))^2))*(sin(-1.0)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.6))^2))*(sin(-0.6)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.6))^2))*(sin(-0.2)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.6))^2))*(sin(0.2)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.6))^2))*(sin(0.6)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.6))^2))*(sin(1.0)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.6))^2))*(sin(1.4)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.6))^2))*(sin(1.8)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.6))^2))*(sin(2.2)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.6))^2))*(sin(2.6)*cos(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.2))^2))*(sin(-3.00)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.2))^2))*(sin(-2.6)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.2))^2))*(sin(-2.2)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.2))^2))*(sin(-1.8)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.2))^2))*(sin(-1.4)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.2))^2))*(sin(-1.0)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.2))^2))*(sin(-0.6)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.2))^2))*(sin(-0.2)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.2))^2))*(sin(0.2)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.2))^2))*(sin(0.6)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.2))^2))*(sin(1.0)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.2))^2))*(sin(1.4)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.2))^2))*(sin(1.8)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.2))^2))*(sin(2.2)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.2))^2))*(sin(2.6)*cos(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.8))^2))*(sin(-3.00)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.8))^2))*(sin(-2.6)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.8))^2))*(sin(-2.2)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.8))^2))*(sin(-1.8)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.8))^2))*(sin(-1.4)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.8))^2))*(sin(-1.0)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.8))^2))*(sin(-0.6)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.8))^2))*(sin(-0.2)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.8))^2))*(sin(0.2)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.8))^2))*(sin(0.6)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.8))^2))*(sin(1.0)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.8))^2))*(sin(1.4)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.8))^2))*(sin(1.8)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.8))^2))*(sin(2.2)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.8))^2))*(sin(2.6)*cos(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.4))^2))*(sin(-3.00)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.4))^2))*(sin(-2.6)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.4))^2))*(sin(-2.2)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.4))^2))*(sin(-1.8)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.4))^2))*(sin(-1.4)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.4))^2))*(sin(-1.0)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.4))^2))*(sin(-0.6)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.4))^2))*(sin(-0.2)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.4))^2))*(sin(0.2)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.4))^2))*(sin(0.6)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.4))^2))*(sin(1.0)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.4))^2))*(sin(1.4)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.4))^2))*(sin(1.8)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.4))^2))*(sin(2.2)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.4))^2))*(sin(2.6)*cos(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.0))^2))*(sin(-3.00)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.0))^2))*(sin(-2.6)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.0))^2))*(sin(-2.2)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.0))^2))*(sin(-1.8)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.0))^2))*(sin(-1.4)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.0))^2))*(sin(-1.0)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.0))^2))*(sin(-0.6)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.0))^2))*(sin(-0.2)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.0))^2))*(sin(0.2)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.0))^2))*(sin(0.6)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.0))^2))*(sin(1.0)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.0))^2))*(sin(1.4)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.0))^2))*(sin(1.8)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.0))^2))*(sin(2.2)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.0))^2))*(sin(2.6)*cos(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.6))^2))*(sin(-3.00)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.6))^2))*(sin(-2.6)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.6))^2))*(sin(-2.2)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.6))^2))*(sin(-1.8)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.6))^2))*(sin(-1.4)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.6))^2))*(sin(-1.0)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.6))^2))*(sin(-0.6)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.6))^2))*(sin(-0.2)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.6))^2))*(sin(0.2)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.6))^2))*(sin(0.6)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.6))^2))*(sin(1.0)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.6))^2))*(sin(1.4)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.6))^2))*(sin(1.8)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.6))^2))*(sin(2.2)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.6))^2))*(sin(2.6)*cos(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.2))^2))*(sin(-3.00)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.2))^2))*(sin(-2.6)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.2))^2))*(sin(-2.2)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.2))^2))*(sin(-1.8)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.2))^2))*(sin(-1.4)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.2))^2))*(sin(-1.0)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.2))^2))*(sin(-0.6)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.2))^2))*(sin(-0.2)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.2))^2))*(sin(0.2)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.2))^2))*(sin(0.6)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.2))^2))*(sin(1.0)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.2))^2))*(sin(1.4)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.2))^2))*(sin(1.8)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.2))^2))*(sin(2.2)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.2))^2))*(sin(2.6)*cos(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.2))^2))*(sin(-3.00)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.2))^2))*(sin(-2.6)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.2))^2))*(sin(-2.2)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.2))^2))*(sin(-1.8)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.2))^2))*(sin(-1.4)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.2))^2))*(sin(-1.0)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.2))^2))*(sin(-0.6)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.2))^2))*(sin(-0.2)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.2))^2))*(sin(0.2)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.2))^2))*(sin(0.6)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.2))^2))*(sin(1.0)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.2))^2))*(sin(1.4)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.2))^2))*(sin(1.8)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.2))^2))*(sin(2.2)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.2))^2))*(sin(2.6)*cos(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.6))^2))*(sin(-3.00)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.6))^2))*(sin(-2.6)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.6))^2))*(sin(-2.2)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.6))^2))*(sin(-1.8)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.6))^2))*(sin(-1.4)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.6))^2))*(sin(-1.0)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.6))^2))*(sin(-0.6)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.6))^2))*(sin(-0.2)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.6))^2))*(sin(0.2)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.6))^2))*(sin(0.6)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.6))^2))*(sin(1.0)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.6))^2))*(sin(1.4)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.6))^2))*(sin(1.8)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.6))^2))*(sin(2.2)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.6))^2))*(sin(2.6)*cos(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.0))^2))*(sin(-3.00)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.0))^2))*(sin(-2.6)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.0))^2))*(sin(-2.2)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.0))^2))*(sin(-1.8)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.0))^2))*(sin(-1.4)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.0))^2))*(sin(-1.0)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.0))^2))*(sin(-0.6)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.0))^2))*(sin(-0.2)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.0))^2))*(sin(0.2)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.0))^2))*(sin(0.6)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.0))^2))*(sin(1.0)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.0))^2))*(sin(1.4)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.0))^2))*(sin(1.8)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.0))^2))*(sin(2.2)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.0))^2))*(sin(2.6)*cos(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.4))^2))*(sin(-3.00)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.4))^2))*(sin(-2.6)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.4))^2))*(sin(-2.2)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.4))^2))*(sin(-1.8)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.4))^2))*(sin(-1.4)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.4))^2))*(sin(-1.0)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.4))^2))*(sin(-0.6)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.4))^2))*(sin(-0.2)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.4))^2))*(sin(0.2)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.4))^2))*(sin(0.6)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.4))^2))*(sin(1.0)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.4))^2))*(sin(1.4)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.4))^2))*(sin(1.8)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.4))^2))*(sin(2.2)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.4))^2))*(sin(2.6)*cos(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.8))^2))*(sin(-3.00)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.8))^2))*(sin(-2.6)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.8))^2))*(sin(-2.2)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.8))^2))*(sin(-1.8)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.8))^2))*(sin(-1.4)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.8))^2))*(sin(-1.0)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.8))^2))*(sin(-0.6)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.8))^2))*(sin(-0.2)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.8))^2))*(sin(0.2)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.8))^2))*(sin(0.6)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.8))^2))*(sin(1.0)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.8))^2))*(sin(1.4)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.8))^2))*(sin(1.8)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.8))^2))*(sin(2.2)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.8))^2))*(sin(2.6)*cos(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.2))^2))*(sin(-3.00)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.2))^2))*(sin(-2.6)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.2))^2))*(sin(-2.2)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.2))^2))*(sin(-1.8)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.2))^2))*(sin(-1.4)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.2))^2))*(sin(-1.0)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.2))^2))*(sin(-0.6)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.2))^2))*(sin(-0.2)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.2))^2))*(sin(0.2)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.2))^2))*(sin(0.6)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.2))^2))*(sin(1.0)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.2))^2))*(sin(1.4)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.2))^2))*(sin(1.8)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.2))^2))*(sin(2.2)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.2))^2))*(sin(2.6)*cos(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.6))^2))*(sin(-3.00)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.6))^2))*(sin(-2.6)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.6))^2))*(sin(-2.2)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.6))^2))*(sin(-1.8)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.6))^2))*(sin(-1.4)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.6))^2))*(sin(-1.0)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.6))^2))*(sin(-0.6)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.6))^2))*(sin(-0.2)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.6))^2))*(sin(0.2)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.6))^2))*(sin(0.6)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.6))^2))*(sin(1.0)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.6))^2))*(sin(1.4)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.6))^2))*(sin(1.8)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.6))^2))*(sin(2.2)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.6))^2))*(sin(2.6)*cos(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 85.5 0 -85.5 0 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false and -exch 2 lt true and or { /viceversa -85.5 85.5 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline -85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 -setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def -logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT -dx log mul add def x abs MaxValue abs le { false { x minTickline moveto -x maxTickline lineto } { x tickstart STsize mul moveto x tickend -STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke -grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick -cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le -{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline -STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave false { cntTick minTickline moveto cntTick -maxTickline lineto } { cntTick tickstart moveto cntTick tickend -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline moveto x maxTickline lineto } { x tickstart STsize -mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT -0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt -{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave cntTick tickstart moveto cntTick tickend -lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def -} ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 85.5 0.0 -85.5 /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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 85.5 0.0 -85.5 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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and -exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline -85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 - setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch -def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick -dT dx log mul add def x abs MaxValue abs le { false { x minTickline -exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch -moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth -SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs -0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch -moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick -tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch -lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def -} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin -{ gsave false { cntTick minTickline exch moveto cntTick maxTickline -exch lineto } { cntTick tickstart exch moveto cntTick tickend exch -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart -STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } -if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore -} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 -sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize -mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } -ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW -subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart -exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke -grestore }{ /showOrigin true def } ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 85.5 0.0 -85.5 /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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 85.5 0.0 -85.5 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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 930 685 a Fb(1)930 449 y(2)875 -1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 -y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p -Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray -0 TeXcolorgray eop end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec2.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec2.eps deleted file mode 100644 index 7b3e4b77e85..00000000000 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec2.eps +++ /dev/null @@ -1,23748 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software -%%Title: testps-fig1.dvi -%%CreationDate: Tue Oct 01 20:09:45 2013 -%%Pages: 1 -%%PageOrder: Ascend -%%BoundingBox: 101 518 279 699 -%%DocumentFonts: CMR8 CMSY8 -%%DocumentPaperSizes: Letter -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: DVIPS.EXE testps-fig1 -%DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2013.10.01:2009 -%%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 755 2013-03-09 08:48:58Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 1.15, 2012/10/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. -% -% -% Define the follwing gs-functions if not known, eg when using distiller -% -systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if -systemdict /.setblendmode known not {/.setblendmode { pop } def } if -systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if -% -/tx@Dict 200 dict def % the main PSTricks dictionary -tx@Dict begin -/ADict 25 dict def % The arrow dictionaray -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments -/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known -/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) -/Div { dup 0 eq { pop } { div } ifelse } def % control the division -/tan { dup cos abs 1.e-10 lt - { pop 1.e10 } % return 1.e10 as infinit - { dup sin exch cos div } ifelse % default sin/cos -} def -/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees -/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root - pop pop 0 }{ sqrt exch atan} ifelse } def -/NET { neg exch neg exch T } def % change coordinate system to the negative one -/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter -/Pyth2 { % Pythagoras, xA yA xB yB - 3 -1 roll % xA xB yB yA - sub % xA xB yB-yA - 3 1 roll % yB-yA xA xB - sub % yB-yA xA-xB - Pyth } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian -/Rand { rand 4294967295 div } def % a real random number -%----------------- hv added 20050516 --------------- -/PiDiv2 1.57079632680 def -/Pi 3.14159265359 def -/TwoPi 6.28318530718 def -/Euler 2.71828182846 def -%/e Euler bind def -% -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa -%----------------- hv end--------------------------- -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def -% -/PathLength { - flattenpath /z 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } - { /y ED /x ED PathLength@ } - {} - { /y y2 def /x x2 def PathLength@ } - /pathforall load stopped { pop pop pop pop } if - z -} def -% -/STP { .996264 dup scale } def % BP/PT scaling -/STV { SDict begin normalscale end STP } def % -% -/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 594 2011-10-31 18:13:18Z 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->EE -%% 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 -/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 130 2009-08-27 08:55:03Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 2.02, 2009/06/16 -%% -%% For distribution, see pstricks.tex. -%% -%% Timothy Van Zandt -%% -%% 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ß -% 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 -%% -%% 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 -%% -%% 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 -%% with contributions of Darrell Lamm 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: texps.pro 0 0 -%! -TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 -index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub -dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ -dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 -roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def -dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} -if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} -def end - -%%EndProcSet -%%BeginProcSet: special.pro 0 0 -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/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 -%%BeginFont: CMSY8 -%!PS-AdobeFont-1.0: CMSY8 003.002 -%%Title: CMSY8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSY8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup -/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY8 def -/FontBBox {-30 -955 1185 779 }readonly def -/UniqueID 5096649 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def -/FullName (CMSY8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /minus put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 -0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 -14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 -7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 -2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 -DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 -209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 -2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 -B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 -24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 -65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 -88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD -CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 -B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 -B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED -516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 -11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 -44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF -E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F -67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F -81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 -26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 -2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 -90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 -609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE -E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 -48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 -8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 -8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 -AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD -1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 -56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 -1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 -3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 -46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 -38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 -6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C -BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 -40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 -023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A -579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 -5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 -31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 -F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 -D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 -285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 -FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A -D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 -4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C -1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC -82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E -08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 -B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD -72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 -E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 -198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 -C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 -EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B -B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 -304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 -FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E -02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 -130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 -F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D -07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 -ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 -24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C -1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED -55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 -546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF -22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 -5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D -6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 -248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 -E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 -E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 -F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 -CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD -15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC -3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 -1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A -A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 -8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 -7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 -DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E -9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 -83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 -307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 -39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 -805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D -6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 -3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C -08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 -A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 -866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 -C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 -75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B -893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD -CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 -491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D -8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A -3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 -B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 -64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B -167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 -E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B -A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 -D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF -0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D -C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D -628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD -C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 -5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 -302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 -2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 -9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 -491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 -5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 -35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC -1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 -3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 -7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 -3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 -B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D -289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 -EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 -DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 -BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C -42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B -9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 -A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA -9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 -5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 -67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A -3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 -36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 -9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 -89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 -63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 -7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 -72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 -C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 -BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 -AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B -D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 -B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C -5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 -93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 -C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 -4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA -058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D -74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 -A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 -42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 -516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 -2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 -A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 -2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F -46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 -EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 -9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B -3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 -6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 -E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 -B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 -89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A -1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A -310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 -33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 -1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 -BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 -06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C -2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 -CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 -80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 -577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 -F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 -B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 -95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD -8E24F52934 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR8 -%!PS-AdobeFont-1.0: CMR8 003.002 -%%Title: CMR8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup -/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR8 def -/FontBBox {-36 -250 1070 750 }readonly def -/UniqueID 5000791 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def -/FullName (CMR8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 49 /one put -dup 50 /two put -dup 51 /three put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B -8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF -27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF -18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB -7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A -DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 -6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 -B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 -2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 -3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 -9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 -7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D -25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 -CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD -A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 -DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE -EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB -16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 -07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E -B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B -B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C -F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 -762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 -D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 -CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C -74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 -1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 -E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 -3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE -37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 -7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 -C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 -A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D -7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 -CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD -3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC -FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 -59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 -6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 -79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 -F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B -49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 -2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B -29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F -2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 -5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 -EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 -5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E -293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF -F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 -568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 -64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C -DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 -A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 -267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D -136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 -A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 -80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 -D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB -46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A -E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 -66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 -2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 -CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF -2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 -DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C -DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B -C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 -CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B -0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F -CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E -F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 -CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 -7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF -6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 -6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C -72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 -13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE -6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 -1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 -86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 -D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B -70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 -0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 -FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 -52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 -7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B -F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA -09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 -401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 -74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 -3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 -ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 -93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 -301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 -F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 -1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E -36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 -34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C -CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 -ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B -9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 -E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A -893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 -E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE -0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 -B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB -A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 -B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F -3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 -AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 -98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF -4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B -F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 -AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E -015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A -167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F -9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 -CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 -130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 -2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D -A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 -C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 -ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A -CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 -3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 -E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 -3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 -3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D -947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 -26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 -0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 -984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E -FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 -44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 -603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B -6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C -D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE -276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF -809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 -08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 -3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF -76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 -A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 -3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 -966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 -CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 -2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF -94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 -DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 -9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 -FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E -1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 -24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C -06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC -6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 -F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 -26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 -D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 -49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 -064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A -E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A -D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 -8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 -2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 -52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 -17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF -145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F -2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 -5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 -B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 -9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 -0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 -8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 -6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC -78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 -368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB -7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED -6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE -91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B -DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 -6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F -AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA -3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D -5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E -F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 -D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 -7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 -6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A -0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE -63150A652A07E2AD6080FFA6DC62C23A735C8A062333 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) -@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 -35 49[{}3 66.4176 /CMR8 rf 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 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-3.00)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 -901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-2.7)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a -998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-2.4)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-2.1)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-1.8)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-1.5)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-1.2)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-0.9)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-0.6)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-0.3)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-3.00)/(1+(-3.00)^2))^2))*(2*(0.0)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-3.00)/(1+(-3.00)^2))^2))*(2*(0.3)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-3.00)/(1+(-3.00)^2))^2))*(2*(0.6)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-3.00)/(1+(-3.00)^2))^2))*(2*(0.9)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-3.00)/(1+(-3.00)^2))^2))*(2*(1.2)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-3.00)/(1+(-3.00)^2))^2))*(2*(1.5)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-3.00)/(1+(-3.00)^2))^2))*(2*(1.8)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-3.00)/(1+(-3.00)^2))^2))*(2*(2.1)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-3.00)/(1+(-3.00)^2))^2))*(2*(2.4)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-3.00)/(1+(-3.00)^2))^2))*(2*(2.7)*(-3.00)/(1+(-3.00)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-3.00)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-2.7)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-2.4)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-2.1)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-1.8)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-1.5)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-1.2)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-0.9)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-0.6)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-0.3)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.7)/(1+(-2.7)^2))^2))*(2*(0.0)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.7)/(1+(-2.7)^2))^2))*(2*(0.3)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.7)/(1+(-2.7)^2))^2))*(2*(0.6)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.7)/(1+(-2.7)^2))^2))*(2*(0.9)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.7)/(1+(-2.7)^2))^2))*(2*(1.2)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.7)/(1+(-2.7)^2))^2))*(2*(1.5)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.7)/(1+(-2.7)^2))^2))*(2*(1.8)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.7)/(1+(-2.7)^2))^2))*(2*(2.1)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.7)/(1+(-2.7)^2))^2))*(2*(2.4)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.7)/(1+(-2.7)^2))^2))*(2*(2.7)*(-2.7)/(1+(-2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-3.00)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-2.7)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-2.4)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-2.1)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-1.8)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-1.5)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-1.2)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-0.9)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-0.6)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-0.3)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.4)/(1+(-2.4)^2))^2))*(2*(0.0)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.4)/(1+(-2.4)^2))^2))*(2*(0.3)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.4)/(1+(-2.4)^2))^2))*(2*(0.6)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.4)/(1+(-2.4)^2))^2))*(2*(0.9)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.4)/(1+(-2.4)^2))^2))*(2*(1.2)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.4)/(1+(-2.4)^2))^2))*(2*(1.5)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.4)/(1+(-2.4)^2))^2))*(2*(1.8)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.4)/(1+(-2.4)^2))^2))*(2*(2.1)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.4)/(1+(-2.4)^2))^2))*(2*(2.4)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.4)/(1+(-2.4)^2))^2))*(2*(2.7)*(-2.4)/(1+(-2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-3.00)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-2.7)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-2.4)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-2.1)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-1.8)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-1.5)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-1.2)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-0.9)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-0.6)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-0.3)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.1)/(1+(-2.1)^2))^2))*(2*(0.0)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.1)/(1+(-2.1)^2))^2))*(2*(0.3)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.1)/(1+(-2.1)^2))^2))*(2*(0.6)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.1)/(1+(-2.1)^2))^2))*(2*(0.9)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.1)/(1+(-2.1)^2))^2))*(2*(1.2)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.1)/(1+(-2.1)^2))^2))*(2*(1.5)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.1)/(1+(-2.1)^2))^2))*(2*(1.8)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.1)/(1+(-2.1)^2))^2))*(2*(2.1)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.1)/(1+(-2.1)^2))^2))*(2*(2.4)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.1)/(1+(-2.1)^2))^2))*(2*(2.7)*(-2.1)/(1+(-2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-3.00)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-2.7)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-2.4)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-2.1)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-1.8)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-1.5)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-1.2)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-0.9)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-0.6)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-0.3)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.8)/(1+(-1.8)^2))^2))*(2*(0.0)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.8)/(1+(-1.8)^2))^2))*(2*(0.3)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.8)/(1+(-1.8)^2))^2))*(2*(0.6)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.8)/(1+(-1.8)^2))^2))*(2*(0.9)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.8)/(1+(-1.8)^2))^2))*(2*(1.2)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.8)/(1+(-1.8)^2))^2))*(2*(1.5)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.8)/(1+(-1.8)^2))^2))*(2*(1.8)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.8)/(1+(-1.8)^2))^2))*(2*(2.1)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.8)/(1+(-1.8)^2))^2))*(2*(2.4)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.8)/(1+(-1.8)^2))^2))*(2*(2.7)*(-1.8)/(1+(-1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-3.00)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-2.7)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-2.4)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-2.1)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-1.8)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-1.5)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-1.2)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-0.9)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-0.6)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-0.3)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.5)/(1+(-1.5)^2))^2))*(2*(0.0)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.5)/(1+(-1.5)^2))^2))*(2*(0.3)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.5)/(1+(-1.5)^2))^2))*(2*(0.6)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.5)/(1+(-1.5)^2))^2))*(2*(0.9)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.5)/(1+(-1.5)^2))^2))*(2*(1.2)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.5)/(1+(-1.5)^2))^2))*(2*(1.5)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.5)/(1+(-1.5)^2))^2))*(2*(1.8)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.5)/(1+(-1.5)^2))^2))*(2*(2.1)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.5)/(1+(-1.5)^2))^2))*(2*(2.4)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.5)/(1+(-1.5)^2))^2))*(2*(2.7)*(-1.5)/(1+(-1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-3.00)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-2.7)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-2.4)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-2.1)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-1.8)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-1.5)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-1.2)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-0.9)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-0.6)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-0.3)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.2)/(1+(-1.2)^2))^2))*(2*(0.0)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.2)/(1+(-1.2)^2))^2))*(2*(0.3)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.2)/(1+(-1.2)^2))^2))*(2*(0.6)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.2)/(1+(-1.2)^2))^2))*(2*(0.9)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.2)/(1+(-1.2)^2))^2))*(2*(1.2)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.2)/(1+(-1.2)^2))^2))*(2*(1.5)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.2)/(1+(-1.2)^2))^2))*(2*(1.8)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.2)/(1+(-1.2)^2))^2))*(2*(2.1)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.2)/(1+(-1.2)^2))^2))*(2*(2.4)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.2)/(1+(-1.2)^2))^2))*(2*(2.7)*(-1.2)/(1+(-1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-3.00)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-2.7)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-2.4)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-2.1)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-1.8)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-1.5)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-1.2)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-0.9)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-0.6)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-0.3)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.9)/(1+(-0.9)^2))^2))*(2*(0.0)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.9)/(1+(-0.9)^2))^2))*(2*(0.3)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.9)/(1+(-0.9)^2))^2))*(2*(0.6)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.9)/(1+(-0.9)^2))^2))*(2*(0.9)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.9)/(1+(-0.9)^2))^2))*(2*(1.2)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.9)/(1+(-0.9)^2))^2))*(2*(1.5)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.9)/(1+(-0.9)^2))^2))*(2*(1.8)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.9)/(1+(-0.9)^2))^2))*(2*(2.1)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.9)/(1+(-0.9)^2))^2))*(2*(2.4)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.9)/(1+(-0.9)^2))^2))*(2*(2.7)*(-0.9)/(1+(-0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-3.00)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-2.7)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-2.4)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-2.1)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-1.8)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-1.5)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-1.2)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-0.9)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-0.6)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-0.3)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.6)/(1+(-0.6)^2))^2))*(2*(0.0)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.6)/(1+(-0.6)^2))^2))*(2*(0.3)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.6)/(1+(-0.6)^2))^2))*(2*(0.6)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.6)/(1+(-0.6)^2))^2))*(2*(0.9)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.6)/(1+(-0.6)^2))^2))*(2*(1.2)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.6)/(1+(-0.6)^2))^2))*(2*(1.5)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.6)/(1+(-0.6)^2))^2))*(2*(1.8)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.6)/(1+(-0.6)^2))^2))*(2*(2.1)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.6)/(1+(-0.6)^2))^2))*(2*(2.4)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.6)/(1+(-0.6)^2))^2))*(2*(2.7)*(-0.6)/(1+(-0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-3.00)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-2.7)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-2.4)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-2.1)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-1.8)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-1.5)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-1.2)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-0.9)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-0.6)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-0.3)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.3)/(1+(-0.3)^2))^2))*(2*(0.0)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.3)/(1+(-0.3)^2))^2))*(2*(0.3)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.3)/(1+(-0.3)^2))^2))*(2*(0.6)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.3)/(1+(-0.3)^2))^2))*(2*(0.9)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.3)/(1+(-0.3)^2))^2))*(2*(1.2)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.3)/(1+(-0.3)^2))^2))*(2*(1.5)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.3)/(1+(-0.3)^2))^2))*(2*(1.8)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.3)/(1+(-0.3)^2))^2))*(2*(2.1)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.3)/(1+(-0.3)^2))^2))*(2*(2.4)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.3)/(1+(-0.3)^2))^2))*(2*(2.7)*(-0.3)/(1+(-0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.0)/(1+(0.0)^2))^2))*(2*(-3.00)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.0)/(1+(0.0)^2))^2))*(2*(-2.7)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.0)/(1+(0.0)^2))^2))*(2*(-2.4)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.0)/(1+(0.0)^2))^2))*(2*(-2.1)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.0)/(1+(0.0)^2))^2))*(2*(-1.8)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.0)/(1+(0.0)^2))^2))*(2*(-1.5)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.0)/(1+(0.0)^2))^2))*(2*(-1.2)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.0)/(1+(0.0)^2))^2))*(2*(-0.9)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.0)/(1+(0.0)^2))^2))*(2*(-0.6)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.0)/(1+(0.0)^2))^2))*(2*(-0.3)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.0)/(1+(0.0)^2))^2))*(2*(0.0)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.0)/(1+(0.0)^2))^2))*(2*(0.3)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.0)/(1+(0.0)^2))^2))*(2*(0.6)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.0)/(1+(0.0)^2))^2))*(2*(0.9)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.0)/(1+(0.0)^2))^2))*(2*(1.2)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.0)/(1+(0.0)^2))^2))*(2*(1.5)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.0)/(1+(0.0)^2))^2))*(2*(1.8)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.0)/(1+(0.0)^2))^2))*(2*(2.1)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.0)/(1+(0.0)^2))^2))*(2*(2.4)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.0)/(1+(0.0)^2))^2))*(2*(2.7)*(0.0)/(1+(0.0)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.3)/(1+(0.3)^2))^2))*(2*(-3.00)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.3)/(1+(0.3)^2))^2))*(2*(-2.7)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.3)/(1+(0.3)^2))^2))*(2*(-2.4)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.3)/(1+(0.3)^2))^2))*(2*(-2.1)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.3)/(1+(0.3)^2))^2))*(2*(-1.8)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.3)/(1+(0.3)^2))^2))*(2*(-1.5)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.3)/(1+(0.3)^2))^2))*(2*(-1.2)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.3)/(1+(0.3)^2))^2))*(2*(-0.9)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.3)/(1+(0.3)^2))^2))*(2*(-0.6)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.3)/(1+(0.3)^2))^2))*(2*(-0.3)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.3)/(1+(0.3)^2))^2))*(2*(0.0)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.3)/(1+(0.3)^2))^2))*(2*(0.3)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.3)/(1+(0.3)^2))^2))*(2*(0.6)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.3)/(1+(0.3)^2))^2))*(2*(0.9)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.3)/(1+(0.3)^2))^2))*(2*(1.2)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.3)/(1+(0.3)^2))^2))*(2*(1.5)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.3)/(1+(0.3)^2))^2))*(2*(1.8)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.3)/(1+(0.3)^2))^2))*(2*(2.1)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.3)/(1+(0.3)^2))^2))*(2*(2.4)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.3)/(1+(0.3)^2))^2))*(2*(2.7)*(0.3)/(1+(0.3)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.6)/(1+(0.6)^2))^2))*(2*(-3.00)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.6)/(1+(0.6)^2))^2))*(2*(-2.7)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.6)/(1+(0.6)^2))^2))*(2*(-2.4)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.6)/(1+(0.6)^2))^2))*(2*(-2.1)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.6)/(1+(0.6)^2))^2))*(2*(-1.8)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.6)/(1+(0.6)^2))^2))*(2*(-1.5)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.6)/(1+(0.6)^2))^2))*(2*(-1.2)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.6)/(1+(0.6)^2))^2))*(2*(-0.9)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.6)/(1+(0.6)^2))^2))*(2*(-0.6)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.6)/(1+(0.6)^2))^2))*(2*(-0.3)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.6)/(1+(0.6)^2))^2))*(2*(0.0)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.6)/(1+(0.6)^2))^2))*(2*(0.3)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.6)/(1+(0.6)^2))^2))*(2*(0.6)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.6)/(1+(0.6)^2))^2))*(2*(0.9)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.6)/(1+(0.6)^2))^2))*(2*(1.2)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.6)/(1+(0.6)^2))^2))*(2*(1.5)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.6)/(1+(0.6)^2))^2))*(2*(1.8)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.6)/(1+(0.6)^2))^2))*(2*(2.1)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.6)/(1+(0.6)^2))^2))*(2*(2.4)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.6)/(1+(0.6)^2))^2))*(2*(2.7)*(0.6)/(1+(0.6)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.9)/(1+(0.9)^2))^2))*(2*(-3.00)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.9)/(1+(0.9)^2))^2))*(2*(-2.7)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.9)/(1+(0.9)^2))^2))*(2*(-2.4)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.9)/(1+(0.9)^2))^2))*(2*(-2.1)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.9)/(1+(0.9)^2))^2))*(2*(-1.8)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.9)/(1+(0.9)^2))^2))*(2*(-1.5)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.9)/(1+(0.9)^2))^2))*(2*(-1.2)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.9)/(1+(0.9)^2))^2))*(2*(-0.9)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.9)/(1+(0.9)^2))^2))*(2*(-0.6)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.9)/(1+(0.9)^2))^2))*(2*(-0.3)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.9)/(1+(0.9)^2))^2))*(2*(0.0)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.9)/(1+(0.9)^2))^2))*(2*(0.3)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.9)/(1+(0.9)^2))^2))*(2*(0.6)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.9)/(1+(0.9)^2))^2))*(2*(0.9)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.9)/(1+(0.9)^2))^2))*(2*(1.2)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.9)/(1+(0.9)^2))^2))*(2*(1.5)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.9)/(1+(0.9)^2))^2))*(2*(1.8)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.9)/(1+(0.9)^2))^2))*(2*(2.1)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.9)/(1+(0.9)^2))^2))*(2*(2.4)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.9)/(1+(0.9)^2))^2))*(2*(2.7)*(0.9)/(1+(0.9)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.2)/(1+(1.2)^2))^2))*(2*(-3.00)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.2)/(1+(1.2)^2))^2))*(2*(-2.7)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.2)/(1+(1.2)^2))^2))*(2*(-2.4)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.2)/(1+(1.2)^2))^2))*(2*(-2.1)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.2)/(1+(1.2)^2))^2))*(2*(-1.8)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.2)/(1+(1.2)^2))^2))*(2*(-1.5)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.2)/(1+(1.2)^2))^2))*(2*(-1.2)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.2)/(1+(1.2)^2))^2))*(2*(-0.9)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.2)/(1+(1.2)^2))^2))*(2*(-0.6)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.2)/(1+(1.2)^2))^2))*(2*(-0.3)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.2)/(1+(1.2)^2))^2))*(2*(0.0)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.2)/(1+(1.2)^2))^2))*(2*(0.3)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.2)/(1+(1.2)^2))^2))*(2*(0.6)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.2)/(1+(1.2)^2))^2))*(2*(0.9)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.2)/(1+(1.2)^2))^2))*(2*(1.2)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.2)/(1+(1.2)^2))^2))*(2*(1.5)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.2)/(1+(1.2)^2))^2))*(2*(1.8)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.2)/(1+(1.2)^2))^2))*(2*(2.1)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.2)/(1+(1.2)^2))^2))*(2*(2.4)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.2)/(1+(1.2)^2))^2))*(2*(2.7)*(1.2)/(1+(1.2)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.5)/(1+(1.5)^2))^2))*(2*(-3.00)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.5)/(1+(1.5)^2))^2))*(2*(-2.7)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.5)/(1+(1.5)^2))^2))*(2*(-2.4)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.5)/(1+(1.5)^2))^2))*(2*(-2.1)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.5)/(1+(1.5)^2))^2))*(2*(-1.8)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.5)/(1+(1.5)^2))^2))*(2*(-1.5)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.5)/(1+(1.5)^2))^2))*(2*(-1.2)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.5)/(1+(1.5)^2))^2))*(2*(-0.9)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.5)/(1+(1.5)^2))^2))*(2*(-0.6)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.5)/(1+(1.5)^2))^2))*(2*(-0.3)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.5)/(1+(1.5)^2))^2))*(2*(0.0)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.5)/(1+(1.5)^2))^2))*(2*(0.3)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.5)/(1+(1.5)^2))^2))*(2*(0.6)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.5)/(1+(1.5)^2))^2))*(2*(0.9)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.5)/(1+(1.5)^2))^2))*(2*(1.2)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.5)/(1+(1.5)^2))^2))*(2*(1.5)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.5)/(1+(1.5)^2))^2))*(2*(1.8)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.5)/(1+(1.5)^2))^2))*(2*(2.1)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.5)/(1+(1.5)^2))^2))*(2*(2.4)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.5)/(1+(1.5)^2))^2))*(2*(2.7)*(1.5)/(1+(1.5)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.8)/(1+(1.8)^2))^2))*(2*(-3.00)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.8)/(1+(1.8)^2))^2))*(2*(-2.7)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.8)/(1+(1.8)^2))^2))*(2*(-2.4)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.8)/(1+(1.8)^2))^2))*(2*(-2.1)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.8)/(1+(1.8)^2))^2))*(2*(-1.8)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.8)/(1+(1.8)^2))^2))*(2*(-1.5)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.8)/(1+(1.8)^2))^2))*(2*(-1.2)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.8)/(1+(1.8)^2))^2))*(2*(-0.9)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.8)/(1+(1.8)^2))^2))*(2*(-0.6)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.8)/(1+(1.8)^2))^2))*(2*(-0.3)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.8)/(1+(1.8)^2))^2))*(2*(0.0)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.8)/(1+(1.8)^2))^2))*(2*(0.3)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.8)/(1+(1.8)^2))^2))*(2*(0.6)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.8)/(1+(1.8)^2))^2))*(2*(0.9)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.8)/(1+(1.8)^2))^2))*(2*(1.2)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.8)/(1+(1.8)^2))^2))*(2*(1.5)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.8)/(1+(1.8)^2))^2))*(2*(1.8)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.8)/(1+(1.8)^2))^2))*(2*(2.1)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.8)/(1+(1.8)^2))^2))*(2*(2.4)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.8)/(1+(1.8)^2))^2))*(2*(2.7)*(1.8)/(1+(1.8)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.1)/(1+(2.1)^2))^2))*(2*(-3.00)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.1)/(1+(2.1)^2))^2))*(2*(-2.7)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.1)/(1+(2.1)^2))^2))*(2*(-2.4)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.1)/(1+(2.1)^2))^2))*(2*(-2.1)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.1)/(1+(2.1)^2))^2))*(2*(-1.8)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.1)/(1+(2.1)^2))^2))*(2*(-1.5)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.1)/(1+(2.1)^2))^2))*(2*(-1.2)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.1)/(1+(2.1)^2))^2))*(2*(-0.9)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.1)/(1+(2.1)^2))^2))*(2*(-0.6)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.1)/(1+(2.1)^2))^2))*(2*(-0.3)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.1)/(1+(2.1)^2))^2))*(2*(0.0)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.1)/(1+(2.1)^2))^2))*(2*(0.3)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.1)/(1+(2.1)^2))^2))*(2*(0.6)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.1)/(1+(2.1)^2))^2))*(2*(0.9)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.1)/(1+(2.1)^2))^2))*(2*(1.2)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.1)/(1+(2.1)^2))^2))*(2*(1.5)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.1)/(1+(2.1)^2))^2))*(2*(1.8)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.1)/(1+(2.1)^2))^2))*(2*(2.1)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.1)/(1+(2.1)^2))^2))*(2*(2.4)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.1)/(1+(2.1)^2))^2))*(2*(2.7)*(2.1)/(1+(2.1)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.4)/(1+(2.4)^2))^2))*(2*(-3.00)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.4)/(1+(2.4)^2))^2))*(2*(-2.7)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.4)/(1+(2.4)^2))^2))*(2*(-2.4)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.4)/(1+(2.4)^2))^2))*(2*(-2.1)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.4)/(1+(2.4)^2))^2))*(2*(-1.8)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.4)/(1+(2.4)^2))^2))*(2*(-1.5)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.4)/(1+(2.4)^2))^2))*(2*(-1.2)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.4)/(1+(2.4)^2))^2))*(2*(-0.9)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.4)/(1+(2.4)^2))^2))*(2*(-0.6)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.4)/(1+(2.4)^2))^2))*(2*(-0.3)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.4)/(1+(2.4)^2))^2))*(2*(0.0)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.4)/(1+(2.4)^2))^2))*(2*(0.3)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.4)/(1+(2.4)^2))^2))*(2*(0.6)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.4)/(1+(2.4)^2))^2))*(2*(0.9)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.4)/(1+(2.4)^2))^2))*(2*(1.2)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.4)/(1+(2.4)^2))^2))*(2*(1.5)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.4)/(1+(2.4)^2))^2))*(2*(1.8)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.4)/(1+(2.4)^2))^2))*(2*(2.1)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.4)/(1+(2.4)^2))^2))*(2*(2.4)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.4)/(1+(2.4)^2))^2))*(2*(2.7)*(2.4)/(1+(2.4)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.7)/(1+(2.7)^2))^2))*(2*(-3.00)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.7)/(1+(2.7)^2))^2))*(2*(-2.7)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.7)/(1+(2.7)^2))^2))*(2*(-2.4)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.7)/(1+(2.7)^2))^2))*(2*(-2.1)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.7)/(1+(2.7)^2))^2))*(2*(-1.8)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.7)/(1+(2.7)^2))^2))*(2*(-1.5)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.7)/(1+(2.7)^2))^2))*(2*(-1.2)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.7)/(1+(2.7)^2))^2))*(2*(-0.9)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.7)/(1+(2.7)^2))^2))*(2*(-0.6)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.7)/(1+(2.7)^2))^2))*(2*(-0.3)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.7)/(1+(2.7)^2))^2))*(2*(0.0)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.7)/(1+(2.7)^2))^2))*(2*(0.3)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.7)/(1+(2.7)^2))^2))*(2*(0.6)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.7)/(1+(2.7)^2))^2))*(2*(0.9)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.7)/(1+(2.7)^2))^2))*(2*(1.2)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.7)/(1+(2.7)^2))^2))*(2*(1.5)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.7)/(1+(2.7)^2))^2))*(2*(1.8)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.7)/(1+(2.7)^2))^2))*(2*(2.1)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.7)/(1+(2.7)^2))^2))*(2*(2.4)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.7)/(1+(2.7)^2))^2))*(2*(2.7)*(2.7)/(1+(2.7)^2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 85.5 0 -85.5 0 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false and -exch 2 lt true and or { /viceversa -85.5 85.5 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline -85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 -setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def -logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT -dx log mul add def x abs MaxValue abs le { false { x minTickline moveto -x maxTickline lineto } { x tickstart STsize mul moveto x tickend -STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke -grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick -cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le -{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline -STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave false { cntTick minTickline moveto cntTick -maxTickline lineto } { cntTick tickstart moveto cntTick tickend -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline moveto x maxTickline lineto } { x tickstart STsize -mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT -0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt -{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave cntTick tickstart moveto cntTick tickend -lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def -} ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 85.5 0.0 -85.5 /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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 85.5 0.0 -85.5 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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and -exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline -85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 - setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch -def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick -dT dx log mul add def x abs MaxValue abs le { false { x minTickline -exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch -moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth -SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs -0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch -moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick -tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch -lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def -} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin -{ gsave false { cntTick minTickline exch moveto cntTick maxTickline -exch lineto } { cntTick tickstart exch moveto cntTick tickend exch -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart -STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } -if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore -} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 -sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize -mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } -ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW -subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart -exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke -grestore }{ /showOrigin true def } ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 85.5 0.0 -85.5 /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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 85.5 0.0 -85.5 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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 930 685 a Fb(1)930 449 y(2)875 -1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 -y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p -Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray -0 TeXcolorgray eop end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec3.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec3.eps deleted file mode 100644 index c5980d7dabe..00000000000 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec3.eps +++ /dev/null @@ -1,15901 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software -%%Title: testps-fig1.dvi -%%CreationDate: Tue Oct 01 20:12:07 2013 -%%Pages: 1 -%%PageOrder: Ascend -%%BoundingBox: 101 516 279 699 -%%DocumentFonts: CMR8 CMSY8 -%%DocumentPaperSizes: Letter -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: DVIPS.EXE testps-fig1 -%DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2013.10.01:2012 -%%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 755 2013-03-09 08:48:58Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 1.15, 2012/10/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. -% -% -% Define the follwing gs-functions if not known, eg when using distiller -% -systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if -systemdict /.setblendmode known not {/.setblendmode { pop } def } if -systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if -% -/tx@Dict 200 dict def % the main PSTricks dictionary -tx@Dict begin -/ADict 25 dict def % The arrow dictionaray -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments -/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known -/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) -/Div { dup 0 eq { pop } { div } ifelse } def % control the division -/tan { dup cos abs 1.e-10 lt - { pop 1.e10 } % return 1.e10 as infinit - { dup sin exch cos div } ifelse % default sin/cos -} def -/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees -/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root - pop pop 0 }{ sqrt exch atan} ifelse } def -/NET { neg exch neg exch T } def % change coordinate system to the negative one -/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter -/Pyth2 { % Pythagoras, xA yA xB yB - 3 -1 roll % xA xB yB yA - sub % xA xB yB-yA - 3 1 roll % yB-yA xA xB - sub % yB-yA xA-xB - Pyth } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian -/Rand { rand 4294967295 div } def % a real random number -%----------------- hv added 20050516 --------------- -/PiDiv2 1.57079632680 def -/Pi 3.14159265359 def -/TwoPi 6.28318530718 def -/Euler 2.71828182846 def -%/e Euler bind def -% -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa -%----------------- hv end--------------------------- -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def -% -/PathLength { - flattenpath /z 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } - { /y ED /x ED PathLength@ } - {} - { /y y2 def /x x2 def PathLength@ } - /pathforall load stopped { pop pop pop pop } if - z -} def -% -/STP { .996264 dup scale } def % BP/PT scaling -/STV { SDict begin normalscale end STP } def % -% -/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 594 2011-10-31 18:13:18Z 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->EE -%% 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 -/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 130 2009-08-27 08:55:03Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 2.02, 2009/06/16 -%% -%% For distribution, see pstricks.tex. -%% -%% Timothy Van Zandt -%% -%% 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ß -% 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 -%% -%% 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 -%% -%% 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 -%% with contributions of Darrell Lamm 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: texps.pro 0 0 -%! -TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 -index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub -dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ -dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 -roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def -dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} -if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} -def end - -%%EndProcSet -%%BeginProcSet: special.pro 0 0 -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/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 -%%BeginFont: CMSY8 -%!PS-AdobeFont-1.0: CMSY8 003.002 -%%Title: CMSY8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSY8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup -/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY8 def -/FontBBox {-30 -955 1185 779 }readonly def -/UniqueID 5096649 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def -/FullName (CMSY8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /minus put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 -0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 -14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 -7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 -2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 -DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 -209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 -2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 -B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 -24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 -65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 -88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD -CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 -B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 -B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED -516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 -11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 -44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF -E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F -67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F -81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 -26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 -2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 -90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 -609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE -E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 -48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 -8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 -8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 -AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD -1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 -56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 -1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 -3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 -46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 -38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 -6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C -BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 -40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 -023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A -579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 -5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 -31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 -F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 -D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 -285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 -FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A -D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 -4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C -1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC -82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E -08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 -B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD -72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 -E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 -198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 -C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 -EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B -B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 -304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 -FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E -02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 -130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 -F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D -07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 -ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 -24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C -1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED -55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 -546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF -22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 -5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D -6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 -248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 -E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 -E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 -F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 -CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD -15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC -3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 -1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A -A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 -8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 -7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 -DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E -9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 -83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 -307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 -39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 -805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D -6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 -3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C -08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 -A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 -866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 -C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 -75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B -893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD -CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 -491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D -8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A -3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 -B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 -64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B -167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 -E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B -A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 -D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF -0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D -C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D -628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD -C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 -5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 -302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 -2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 -9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 -491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 -5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 -35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC -1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 -3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 -7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 -3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 -B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D -289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 -EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 -DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 -BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C -42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B -9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 -A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA -9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 -5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 -67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A -3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 -36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 -9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 -89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 -63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 -7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 -72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 -C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 -BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 -AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B -D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 -B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C -5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 -93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 -C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 -4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA -058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D -74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 -A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 -42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 -516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 -2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 -A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 -2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F -46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 -EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 -9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B -3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 -6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 -E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 -B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 -89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A -1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A -310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 -33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 -1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 -BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 -06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C -2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 -CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 -80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 -577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 -F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 -B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 -95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD -8E24F52934 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR8 -%!PS-AdobeFont-1.0: CMR8 003.002 -%%Title: CMR8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup -/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR8 def -/FontBBox {-36 -250 1070 750 }readonly def -/UniqueID 5000791 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def -/FullName (CMR8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 49 /one put -dup 50 /two put -dup 51 /three put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B -8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF -27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF -18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB -7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A -DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 -6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 -B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 -2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 -3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 -9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 -7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D -25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 -CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD -A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 -DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE -EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB -16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 -07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E -B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B -B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C -F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 -762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 -D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 -CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C -74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 -1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 -E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 -3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE -37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 -7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 -C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 -A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D -7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 -CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD -3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC -FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 -59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 -6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 -79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 -F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B -49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 -2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B -29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F -2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 -5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 -EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 -5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E -293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF -F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 -568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 -64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C -DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 -A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 -267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D -136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 -A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 -80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 -D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB -46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A -E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 -66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 -2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 -CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF -2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 -DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C -DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B -C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 -CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B -0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F -CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E -F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 -CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 -7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF -6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 -6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C -72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 -13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE -6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 -1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 -86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 -D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B -70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 -0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 -FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 -52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 -7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B -F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA -09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 -401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 -74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 -3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 -ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 -93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 -301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 -F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 -1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E -36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 -34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C -CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 -ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B -9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 -E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A -893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 -E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE -0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 -B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB -A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 -B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F -3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 -AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 -98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF -4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B -F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 -AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E -015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A -167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F -9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 -CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 -130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 -2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D -A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 -C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 -ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A -CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 -3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 -E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 -3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 -3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D -947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 -26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 -0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 -984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E -FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 -44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 -603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B -6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C -D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE -276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF -809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 -08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 -3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF -76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 -A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 -3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 -966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 -CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 -2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF -94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 -DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 -9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 -FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E -1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 -24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C -06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC -6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 -F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 -26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 -D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 -49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 -064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A -E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A -D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 -8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 -2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 -52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 -17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF -145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F -2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 -5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 -B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 -9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 -0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 -8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 -6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC -78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 -368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB -7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED -6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE -91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B -DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 -6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F -AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA -3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D -5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E -F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 -D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 -7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 -6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A -0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE -63150A652A07E2AD6080FFA6DC62C23A735C8A062333 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) -@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 -35 49[{}3 66.4176 /CMR8 rf 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 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-3.00))^2))*((-3.00)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 -901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-3.00)-(-2.6))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-2.6))^2))*((-3.00)-(-2.6)) -) AlgParser cvx def end - 998 901 a -998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-3.00)-(-2.2))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-2.2))^2))*((-3.00)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.8))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.8))^2))*((-3.00)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.4))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.4))^2))*((-3.00)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.0))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.0))^2))*((-3.00)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-3.00)-(-0.6))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-0.6))^2))*((-3.00)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-3.00)-(-0.2))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-0.2))^2))*((-3.00)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-3.00)-(0.2))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(0.2))^2))*((-3.00)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-3.00)-(0.6))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(0.6))^2))*((-3.00)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.0))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.0))^2))*((-3.00)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.4))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.4))^2))*((-3.00)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.8))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.8))^2))*((-3.00)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-3.00)-(2.2))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(2.2))^2))*((-3.00)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-3.00)-(2.6))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(2.6))^2))*((-3.00)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-2.6)-(-3.00))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-3.00))^2))*((-2.6)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-2.6))^2))*((-2.6)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.6)-(-2.2))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-2.2))^2))*((-2.6)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.8))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.8))^2))*((-2.6)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.4))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.4))^2))*((-2.6)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.0))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.0))^2))*((-2.6)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-0.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-0.6))^2))*((-2.6)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-2.6)-(-0.2))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-0.2))^2))*((-2.6)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-2.6)-(0.2))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(0.2))^2))*((-2.6)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(0.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(0.6))^2))*((-2.6)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.0))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.0))^2))*((-2.6)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.4))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.4))^2))*((-2.6)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.8))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.8))^2))*((-2.6)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-2.6)-(2.2))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(2.2))^2))*((-2.6)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(2.6))^2))*((-2.6)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-2.2)-(-3.00))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-3.00))^2))*((-2.2)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.2)-(-2.6))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-2.6))^2))*((-2.2)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-2.2))^2))*((-2.2)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.8))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.8))^2))*((-2.2)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.4))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.4))^2))*((-2.2)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.0))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.0))^2))*((-2.2)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-2.2)-(-0.6))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-0.6))^2))*((-2.2)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-0.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-0.2))^2))*((-2.2)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(0.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(0.2))^2))*((-2.2)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-2.2)-(0.6))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(0.6))^2))*((-2.2)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.0))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.0))^2))*((-2.2)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.4))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.4))^2))*((-2.2)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.8))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.8))^2))*((-2.2)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(2.2))^2))*((-2.2)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-2.2)-(2.6))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(2.6))^2))*((-2.2)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-1.8)-(-3.00))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-3.00))^2))*((-1.8)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-1.8)-(-2.6))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-2.6))^2))*((-1.8)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-1.8)-(-2.2))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-2.2))^2))*((-1.8)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.8))^2))*((-1.8)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.4))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.4))^2))*((-1.8)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.0))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.0))^2))*((-1.8)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-1.8)-(-0.6))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-0.6))^2))*((-1.8)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-1.8)-(-0.2))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-0.2))^2))*((-1.8)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-1.8)-(0.2))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(0.2))^2))*((-1.8)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-1.8)-(0.6))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(0.6))^2))*((-1.8)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.0))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.0))^2))*((-1.8)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.4))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.4))^2))*((-1.8)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.8))^2))*((-1.8)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-1.8)-(2.2))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(2.2))^2))*((-1.8)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-1.8)-(2.6))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(2.6))^2))*((-1.8)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-1.4)-(-3.00))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-3.00))^2))*((-1.4)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-1.4)-(-2.6))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-2.6))^2))*((-1.4)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-1.4)-(-2.2))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-2.2))^2))*((-1.4)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.8))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.8))^2))*((-1.4)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.4))^2))*((-1.4)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.0))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.0))^2))*((-1.4)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-1.4)-(-0.6))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-0.6))^2))*((-1.4)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-1.4)-(-0.2))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-0.2))^2))*((-1.4)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-1.4)-(0.2))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(0.2))^2))*((-1.4)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-1.4)-(0.6))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(0.6))^2))*((-1.4)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.0))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.0))^2))*((-1.4)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.4))^2))*((-1.4)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.8))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.8))^2))*((-1.4)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-1.4)-(2.2))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(2.2))^2))*((-1.4)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-1.4)-(2.6))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(2.6))^2))*((-1.4)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-1.0)-(-3.00))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-3.00))^2))*((-1.0)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-1.0)-(-2.6))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-2.6))^2))*((-1.0)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-1.0)-(-2.2))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-2.2))^2))*((-1.0)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.8))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.8))^2))*((-1.0)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.4))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.4))^2))*((-1.0)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.0))^2))*((-1.0)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-1.0)-(-0.6))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-0.6))^2))*((-1.0)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-1.0)-(-0.2))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-0.2))^2))*((-1.0)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-1.0)-(0.2))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(0.2))^2))*((-1.0)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-1.0)-(0.6))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(0.6))^2))*((-1.0)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.0))^2))*((-1.0)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.4))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.4))^2))*((-1.0)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.8))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.8))^2))*((-1.0)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-1.0)-(2.2))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(2.2))^2))*((-1.0)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-1.0)-(2.6))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(2.6))^2))*((-1.0)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-0.6)-(-3.00))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-3.00))^2))*((-0.6)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-2.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-2.6))^2))*((-0.6)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-0.6)-(-2.2))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-2.2))^2))*((-0.6)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.8))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.8))^2))*((-0.6)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.4))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.4))^2))*((-0.6)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.0))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.0))^2))*((-0.6)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-0.6))^2))*((-0.6)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.6)-(-0.2))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-0.2))^2))*((-0.6)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-0.6)-(0.2))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(0.2))^2))*((-0.6)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(0.6))^2))*((-0.6)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.0))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.0))^2))*((-0.6)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.4))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.4))^2))*((-0.6)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.8))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.8))^2))*((-0.6)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-0.6)-(2.2))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(2.2))^2))*((-0.6)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(2.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(2.6))^2))*((-0.6)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-0.2)-(-3.00))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-3.00))^2))*((-0.2)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-0.2)-(-2.6))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-2.6))^2))*((-0.2)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-2.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-2.2))^2))*((-0.2)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.8))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.8))^2))*((-0.2)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.4))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.4))^2))*((-0.2)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.0))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.0))^2))*((-0.2)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.2)-(-0.6))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-0.6))^2))*((-0.2)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-0.2))^2))*((-0.2)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(0.2))^2))*((-0.2)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-0.2)-(0.6))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(0.6))^2))*((-0.2)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.0))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.0))^2))*((-0.2)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.4))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.4))^2))*((-0.2)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.8))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.8))^2))*((-0.2)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(2.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(2.2))^2))*((-0.2)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-0.2)-(2.6))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(2.6))^2))*((-0.2)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((0.2)-(-3.00))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-3.00))^2))*((0.2)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((0.2)-(-2.6))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-2.6))^2))*((0.2)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-2.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-2.2))^2))*((0.2)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.8))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.8))^2))*((0.2)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.4))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.4))^2))*((0.2)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.0))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.0))^2))*((0.2)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((0.2)-(-0.6))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-0.6))^2))*((0.2)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-0.2))^2))*((0.2)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(0.2))^2))*((0.2)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.2)-(0.6))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(0.6))^2))*((0.2)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((0.2)-(1.0))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(1.0))^2))*((0.2)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((0.2)-(1.4))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(1.4))^2))*((0.2)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((0.2)-(1.8))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(1.8))^2))*((0.2)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((0.2)-(2.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(2.2))^2))*((0.2)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((0.2)-(2.6))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(2.6))^2))*((0.2)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((0.6)-(-3.00))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-3.00))^2))*((0.6)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-2.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-2.6))^2))*((0.6)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((0.6)-(-2.2))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-2.2))^2))*((0.6)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.8))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.8))^2))*((0.6)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.4))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.4))^2))*((0.6)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.0))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.0))^2))*((0.6)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-0.6))^2))*((0.6)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((0.6)-(-0.2))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-0.2))^2))*((0.6)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.6)-(0.2))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(0.2))^2))*((0.6)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(0.6))^2))*((0.6)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((0.6)-(1.0))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(1.0))^2))*((0.6)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((0.6)-(1.4))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(1.4))^2))*((0.6)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((0.6)-(1.8))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(1.8))^2))*((0.6)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((0.6)-(2.2))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(2.2))^2))*((0.6)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((0.6)-(2.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(2.6))^2))*((0.6)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((1.0)-(-3.00))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-3.00))^2))*((1.0)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((1.0)-(-2.6))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-2.6))^2))*((1.0)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((1.0)-(-2.2))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-2.2))^2))*((1.0)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.8))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.8))^2))*((1.0)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.4))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.4))^2))*((1.0)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.0))^2))*((1.0)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((1.0)-(-0.6))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-0.6))^2))*((1.0)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((1.0)-(-0.2))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-0.2))^2))*((1.0)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((1.0)-(0.2))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(0.2))^2))*((1.0)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((1.0)-(0.6))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(0.6))^2))*((1.0)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(1.0))^2))*((1.0)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.0)-(1.4))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(1.4))^2))*((1.0)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.0)-(1.8))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(1.8))^2))*((1.0)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((1.0)-(2.2))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(2.2))^2))*((1.0)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((1.0)-(2.6))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(2.6))^2))*((1.0)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((1.4)-(-3.00))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-3.00))^2))*((1.4)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((1.4)-(-2.6))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-2.6))^2))*((1.4)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((1.4)-(-2.2))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-2.2))^2))*((1.4)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.8))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.8))^2))*((1.4)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.4))^2))*((1.4)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.0))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.0))^2))*((1.4)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((1.4)-(-0.6))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-0.6))^2))*((1.4)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((1.4)-(-0.2))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-0.2))^2))*((1.4)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((1.4)-(0.2))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(0.2))^2))*((1.4)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((1.4)-(0.6))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(0.6))^2))*((1.4)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.4)-(1.0))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(1.0))^2))*((1.4)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(1.4))^2))*((1.4)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.4)-(1.8))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(1.8))^2))*((1.4)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((1.4)-(2.2))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(2.2))^2))*((1.4)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((1.4)-(2.6))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(2.6))^2))*((1.4)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((1.8)-(-3.00))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-3.00))^2))*((1.8)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((1.8)-(-2.6))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-2.6))^2))*((1.8)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((1.8)-(-2.2))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-2.2))^2))*((1.8)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.8))^2))*((1.8)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.4))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.4))^2))*((1.8)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.0))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.0))^2))*((1.8)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((1.8)-(-0.6))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-0.6))^2))*((1.8)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((1.8)-(-0.2))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-0.2))^2))*((1.8)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((1.8)-(0.2))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(0.2))^2))*((1.8)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((1.8)-(0.6))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(0.6))^2))*((1.8)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.8)-(1.0))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(1.0))^2))*((1.8)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.8)-(1.4))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(1.4))^2))*((1.8)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(1.8))^2))*((1.8)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((1.8)-(2.2))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(2.2))^2))*((1.8)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((1.8)-(2.6))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(2.6))^2))*((1.8)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((2.2)-(-3.00))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-3.00))^2))*((2.2)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((2.2)-(-2.6))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-2.6))^2))*((2.2)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-2.2))^2))*((2.2)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.8))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.8))^2))*((2.2)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.4))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.4))^2))*((2.2)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.0))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.0))^2))*((2.2)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((2.2)-(-0.6))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-0.6))^2))*((2.2)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-0.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-0.2))^2))*((2.2)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((2.2)-(0.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(0.2))^2))*((2.2)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((2.2)-(0.6))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(0.6))^2))*((2.2)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((2.2)-(1.0))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(1.0))^2))*((2.2)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((2.2)-(1.4))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(1.4))^2))*((2.2)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((2.2)-(1.8))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(1.8))^2))*((2.2)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(2.2))^2))*((2.2)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.2)-(2.6))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(2.6))^2))*((2.2)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((2.6)-(-3.00))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-3.00))^2))*((2.6)-(-3.00)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-2.6))^2))*((2.6)-(-2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((2.6)-(-2.2))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-2.2))^2))*((2.6)-(-2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.8))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.8))^2))*((2.6)-(-1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.4))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.4))^2))*((2.6)-(-1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.0))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.0))^2))*((2.6)-(-1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-0.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-0.6))^2))*((2.6)-(-0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((2.6)-(-0.2))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-0.2))^2))*((2.6)-(-0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((2.6)-(0.2))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(0.2))^2))*((2.6)-(0.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((2.6)-(0.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(0.6))^2))*((2.6)-(0.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((2.6)-(1.0))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(1.0))^2))*((2.6)-(1.0)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((2.6)-(1.4))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(1.4))^2))*((2.6)-(1.4)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((2.6)-(1.8))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(1.8))^2))*((2.6)-(1.8)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.6)-(2.2))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(2.2))^2))*((2.6)-(2.2)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(2.6))^2))*((2.6)-(2.6)) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 - setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale - false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul -/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg -a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow - } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 -known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin -tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end - /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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 85.5 0 -85.5 0 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false and -exch 2 lt true and or { /viceversa -85.5 85.5 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline -85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 -setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def -logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT -dx log mul add def x abs MaxValue abs le { false { x minTickline moveto -x maxTickline lineto } { x tickstart STsize mul moveto x tickend -STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke -grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick -cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le -{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline -STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave false { cntTick minTickline moveto cntTick -maxTickline lineto } { cntTick tickstart moveto cntTick tickend -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline moveto x maxTickline lineto } { x tickstart STsize -mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT -0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt -{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave cntTick tickstart moveto cntTick tickend -lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def -} ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 85.5 0.0 -85.5 /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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 85.5 0.0 -85.5 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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and -exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline -85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 - setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch -def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick -dT dx log mul add def x abs MaxValue abs le { false { x minTickline -exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch -moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth -SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs -0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch -moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick -tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch -lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def -} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin -{ gsave false { cntTick minTickline exch moveto cntTick maxTickline -exch lineto } { cntTick tickstart exch moveto cntTick tickend exch -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart -STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } -if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore -} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 -sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize -mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } -ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW -subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart -exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke -grestore }{ /showOrigin true def } ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 85.5 0.0 -85.5 /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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 85.5 0.0 -85.5 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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 930 685 a Fb(1)930 449 y(2)875 -1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 -y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p -Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray -0 TeXcolorgray eop end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec4.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec4.eps deleted file mode 100644 index 9dfc1616225..00000000000 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec4.eps +++ /dev/null @@ -1,15856 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software -%%Title: testps-fig1.dvi -%%CreationDate: Tue Oct 01 20:15:01 2013 -%%Pages: 1 -%%PageOrder: Ascend -%%BoundingBox: 101 516 279 699 -%%DocumentFonts: CMR8 CMSY8 -%%DocumentPaperSizes: Letter -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: DVIPS.EXE testps-fig1 -%DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2013.10.01:2014 -%%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 755 2013-03-09 08:48:58Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 1.15, 2012/10/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. -% -% -% Define the follwing gs-functions if not known, eg when using distiller -% -systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if -systemdict /.setblendmode known not {/.setblendmode { pop } def } if -systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if -% -/tx@Dict 200 dict def % the main PSTricks dictionary -tx@Dict begin -/ADict 25 dict def % The arrow dictionaray -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments -/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known -/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) -/Div { dup 0 eq { pop } { div } ifelse } def % control the division -/tan { dup cos abs 1.e-10 lt - { pop 1.e10 } % return 1.e10 as infinit - { dup sin exch cos div } ifelse % default sin/cos -} def -/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees -/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root - pop pop 0 }{ sqrt exch atan} ifelse } def -/NET { neg exch neg exch T } def % change coordinate system to the negative one -/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter -/Pyth2 { % Pythagoras, xA yA xB yB - 3 -1 roll % xA xB yB yA - sub % xA xB yB-yA - 3 1 roll % yB-yA xA xB - sub % yB-yA xA-xB - Pyth } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian -/Rand { rand 4294967295 div } def % a real random number -%----------------- hv added 20050516 --------------- -/PiDiv2 1.57079632680 def -/Pi 3.14159265359 def -/TwoPi 6.28318530718 def -/Euler 2.71828182846 def -%/e Euler bind def -% -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa -%----------------- hv end--------------------------- -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def -% -/PathLength { - flattenpath /z 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } - { /y ED /x ED PathLength@ } - {} - { /y y2 def /x x2 def PathLength@ } - /pathforall load stopped { pop pop pop pop } if - z -} def -% -/STP { .996264 dup scale } def % BP/PT scaling -/STV { SDict begin normalscale end STP } def % -% -/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 594 2011-10-31 18:13:18Z 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->EE -%% 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 -/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 130 2009-08-27 08:55:03Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 2.02, 2009/06/16 -%% -%% For distribution, see pstricks.tex. -%% -%% Timothy Van Zandt -%% -%% 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ß -% 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 -%% -%% 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 -%% -%% 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 -%% with contributions of Darrell Lamm 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: texps.pro 0 0 -%! -TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 -index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub -dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ -dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 -roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def -dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} -if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} -def end - -%%EndProcSet -%%BeginProcSet: special.pro 0 0 -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/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 -%%BeginFont: CMSY8 -%!PS-AdobeFont-1.0: CMSY8 003.002 -%%Title: CMSY8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSY8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup -/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY8 def -/FontBBox {-30 -955 1185 779 }readonly def -/UniqueID 5096649 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def -/FullName (CMSY8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /minus put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 -0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 -14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 -7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 -2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 -DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 -209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 -2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 -B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 -24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 -65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 -88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD -CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 -B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 -B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED -516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 -11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 -44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF -E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F -67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F -81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 -26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 -2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 -90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 -609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE -E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 -48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 -8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 -8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 -AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD -1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 -56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 -1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 -3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 -46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 -38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 -6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C -BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 -40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 -023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A -579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 -5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 -31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 -F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 -D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 -285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 -FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A -D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 -4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C -1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC -82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E -08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 -B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD -72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 -E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 -198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 -C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 -EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B -B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 -304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 -FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E -02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 -130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 -F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D -07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 -ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 -24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C -1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED -55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 -546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF -22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 -5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D -6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 -248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 -E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 -E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 -F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 -CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD -15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC -3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 -1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A -A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 -8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 -7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 -DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E -9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 -83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 -307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 -39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 -805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D -6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 -3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C -08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 -A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 -866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 -C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 -75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B -893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD -CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 -491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D -8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A -3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 -B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 -64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B -167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 -E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B -A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 -D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF -0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D -C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D -628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD -C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 -5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 -302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 -2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 -9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 -491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 -5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 -35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC -1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 -3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 -7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 -3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 -B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D -289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 -EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 -DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 -BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C -42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B -9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 -A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA -9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 -5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 -67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A -3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 -36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 -9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 -89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 -63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 -7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 -72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 -C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 -BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 -AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B -D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 -B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C -5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 -93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 -C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 -4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA -058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D -74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 -A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 -42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 -516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 -2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 -A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 -2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F -46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 -EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 -9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B -3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 -6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 -E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 -B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 -89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A -1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A -310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 -33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 -1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 -BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 -06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C -2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 -CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 -80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 -577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 -F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 -B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 -95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD -8E24F52934 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR8 -%!PS-AdobeFont-1.0: CMR8 003.002 -%%Title: CMR8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup -/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR8 def -/FontBBox {-36 -250 1070 750 }readonly def -/UniqueID 5000791 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def -/FullName (CMR8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 49 /one put -dup 50 /two put -dup 51 /three put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B -8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF -27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF -18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB -7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A -DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 -6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 -B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 -2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 -3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 -9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 -7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D -25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 -CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD -A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 -DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE -EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB -16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 -07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E -B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B -B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C -F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 -762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 -D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 -CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C -74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 -1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 -E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 -3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE -37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 -7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 -C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 -A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D -7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 -CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD -3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC -FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 -59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 -6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 -79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 -F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B -49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 -2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B -29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F -2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 -5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 -EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 -5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E -293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF -F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 -568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 -64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C -DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 -A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 -267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D -136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 -A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 -80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 -D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB -46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A -E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 -66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 -2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 -CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF -2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 -DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C -DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B -C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 -CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B -0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F -CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E -F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 -CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 -7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF -6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 -6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C -72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 -13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE -6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 -1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 -86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 -D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B -70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 -0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 -FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 -52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 -7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B -F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA -09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 -401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 -74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 -3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 -ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 -93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 -301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 -F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 -1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E -36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 -34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C -CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 -ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B -9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 -E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A -893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 -E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE -0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 -B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB -A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 -B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F -3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 -AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 -98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF -4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B -F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 -AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E -015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A -167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F -9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 -CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 -130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 -2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D -A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 -C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 -ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A -CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 -3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 -E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 -3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 -3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D -947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 -26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 -0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 -984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E -FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 -44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 -603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B -6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C -D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE -276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF -809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 -08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 -3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF -76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 -A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 -3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 -966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 -CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 -2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF -94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 -DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 -9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 -FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E -1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 -24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C -06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC -6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 -F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 -26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 -D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 -49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 -064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A -E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A -D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 -8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 -2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 -52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 -17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF -145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F -2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 -5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 -B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 -9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 -0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 -8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 -6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC -78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 -368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB -7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED -6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE -91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B -DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 -6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F -AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA -3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D -5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E -F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 -D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 -7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 -6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A -0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE -63150A652A07E2AD6080FFA6DC62C23A735C8A062333 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) -@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 -35 49[{}3 66.4176 /CMR8 rf 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 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-3.00)))^2))*((-3.00)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 -901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-3.00)))^2))*((-2.6)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a -998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-3.00)))^2))*((-2.2)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-3.00)))^2))*((-1.8)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-3.00)))^2))*((-1.4)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-3.00)))^2))*((-1.0)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-3.00)))^2))*((-0.6)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-3.00)))^2))*((-0.2)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-3.00)))^2))*((0.2)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-3.00)))^2))*((0.6)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-3.00)))^2))*((1.0)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-3.00)))^2))*((1.4)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-3.00)))^2))*((1.8)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-3.00)))^2))*((2.2)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-3.00)))^2))*((2.6)*(2-(-3.00))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-2.6)))^2))*((-3.00)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-2.6)))^2))*((-2.6)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-2.6)))^2))*((-2.2)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-2.6)))^2))*((-1.8)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-2.6)))^2))*((-1.4)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-2.6)))^2))*((-1.0)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-2.6)))^2))*((-0.6)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-2.6)))^2))*((-0.2)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-2.6)))^2))*((0.2)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-2.6)))^2))*((0.6)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-2.6)))^2))*((1.0)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-2.6)))^2))*((1.4)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-2.6)))^2))*((1.8)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-2.6)))^2))*((2.2)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-2.6)))^2))*((2.6)*(2-(-2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-2.2)))^2))*((-3.00)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-2.2)))^2))*((-2.6)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-2.2)))^2))*((-2.2)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-2.2)))^2))*((-1.8)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-2.2)))^2))*((-1.4)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-2.2)))^2))*((-1.0)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-2.2)))^2))*((-0.6)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-2.2)))^2))*((-0.2)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-2.2)))^2))*((0.2)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-2.2)))^2))*((0.6)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-2.2)))^2))*((1.0)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-2.2)))^2))*((1.4)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-2.2)))^2))*((1.8)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-2.2)))^2))*((2.2)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-2.2)))^2))*((2.6)*(2-(-2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.8)))^2))*((-3.00)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.8)))^2))*((-2.6)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.8)))^2))*((-2.2)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.8)))^2))*((-1.8)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.8)))^2))*((-1.4)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.8)))^2))*((-1.0)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.8)))^2))*((-0.6)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.8)))^2))*((-0.2)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.8)))^2))*((0.2)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.8)))^2))*((0.6)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.8)))^2))*((1.0)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.8)))^2))*((1.4)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.8)))^2))*((1.8)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.8)))^2))*((2.2)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.8)))^2))*((2.6)*(2-(-1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.4)))^2))*((-3.00)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.4)))^2))*((-2.6)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.4)))^2))*((-2.2)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.4)))^2))*((-1.8)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.4)))^2))*((-1.4)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.4)))^2))*((-1.0)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.4)))^2))*((-0.6)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.4)))^2))*((-0.2)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.4)))^2))*((0.2)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.4)))^2))*((0.6)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.4)))^2))*((1.0)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.4)))^2))*((1.4)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.4)))^2))*((1.8)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.4)))^2))*((2.2)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.4)))^2))*((2.6)*(2-(-1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.0)))^2))*((-3.00)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.0)))^2))*((-2.6)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.0)))^2))*((-2.2)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.0)))^2))*((-1.8)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.0)))^2))*((-1.4)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.0)))^2))*((-1.0)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.0)))^2))*((-0.6)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.0)))^2))*((-0.2)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.0)))^2))*((0.2)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.0)))^2))*((0.6)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.0)))^2))*((1.0)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.0)))^2))*((1.4)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.0)))^2))*((1.8)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.0)))^2))*((2.2)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.0)))^2))*((2.6)*(2-(-1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-0.6)))^2))*((-3.00)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-0.6)))^2))*((-2.6)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-0.6)))^2))*((-2.2)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-0.6)))^2))*((-1.8)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-0.6)))^2))*((-1.4)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-0.6)))^2))*((-1.0)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-0.6)))^2))*((-0.6)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-0.6)))^2))*((-0.2)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-0.6)))^2))*((0.2)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-0.6)))^2))*((0.6)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-0.6)))^2))*((1.0)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-0.6)))^2))*((1.4)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-0.6)))^2))*((1.8)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-0.6)))^2))*((2.2)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-0.6)))^2))*((2.6)*(2-(-0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-0.2)))^2))*((-3.00)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-0.2)))^2))*((-2.6)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-0.2)))^2))*((-2.2)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-0.2)))^2))*((-1.8)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-0.2)))^2))*((-1.4)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-0.2)))^2))*((-1.0)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-0.2)))^2))*((-0.6)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-0.2)))^2))*((-0.2)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-0.2)))^2))*((0.2)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-0.2)))^2))*((0.6)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-0.2)))^2))*((1.0)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-0.2)))^2))*((1.4)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-0.2)))^2))*((1.8)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-0.2)))^2))*((2.2)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-0.2)))^2))*((2.6)*(2-(-0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(0.2)))^2))*((-3.00)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(0.2)))^2))*((-2.6)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(0.2)))^2))*((-2.2)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(0.2)))^2))*((-1.8)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(0.2)))^2))*((-1.4)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(0.2)))^2))*((-1.0)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(0.2)))^2))*((-0.6)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(0.2)))^2))*((-0.2)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(0.2)))^2))*((0.2)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(0.2)))^2))*((0.6)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(0.2)))^2))*((1.0)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(0.2)))^2))*((1.4)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(0.2)))^2))*((1.8)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(0.2)))^2))*((2.2)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(0.2)))^2))*((2.6)*(2-(0.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(0.6)))^2))*((-3.00)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(0.6)))^2))*((-2.6)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(0.6)))^2))*((-2.2)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(0.6)))^2))*((-1.8)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(0.6)))^2))*((-1.4)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(0.6)))^2))*((-1.0)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(0.6)))^2))*((-0.6)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(0.6)))^2))*((-0.2)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(0.6)))^2))*((0.2)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(0.6)))^2))*((0.6)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(0.6)))^2))*((1.0)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(0.6)))^2))*((1.4)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(0.6)))^2))*((1.8)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(0.6)))^2))*((2.2)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(0.6)))^2))*((2.6)*(2-(0.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.0)))^2))*((-3.00)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.0)))^2))*((-2.6)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.0)))^2))*((-2.2)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.0)))^2))*((-1.8)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.0)))^2))*((-1.4)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.0)))^2))*((-1.0)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.0)))^2))*((-0.6)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.0)))^2))*((-0.2)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.0)))^2))*((0.2)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.0)))^2))*((0.6)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.0)))^2))*((1.0)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.0)))^2))*((1.4)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.0)))^2))*((1.8)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.0)))^2))*((2.2)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.0)))^2))*((2.6)*(2-(1.0))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.4)))^2))*((-3.00)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.4)))^2))*((-2.6)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.4)))^2))*((-2.2)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.4)))^2))*((-1.8)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.4)))^2))*((-1.4)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.4)))^2))*((-1.0)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.4)))^2))*((-0.6)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.4)))^2))*((-0.2)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.4)))^2))*((0.2)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.4)))^2))*((0.6)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.4)))^2))*((1.0)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.4)))^2))*((1.4)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.4)))^2))*((1.8)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.4)))^2))*((2.2)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.4)))^2))*((2.6)*(2-(1.4))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.8)))^2))*((-3.00)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.8)))^2))*((-2.6)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.8)))^2))*((-2.2)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.8)))^2))*((-1.8)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.8)))^2))*((-1.4)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.8)))^2))*((-1.0)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.8)))^2))*((-0.6)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.8)))^2))*((-0.2)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.8)))^2))*((0.2)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.8)))^2))*((0.6)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.8)))^2))*((1.0)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.8)))^2))*((1.4)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.8)))^2))*((1.8)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.8)))^2))*((2.2)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.8)))^2))*((2.6)*(2-(1.8))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(2.2)))^2))*((-3.00)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(2.2)))^2))*((-2.6)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(2.2)))^2))*((-2.2)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(2.2)))^2))*((-1.8)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(2.2)))^2))*((-1.4)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(2.2)))^2))*((-1.0)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(2.2)))^2))*((-0.6)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(2.2)))^2))*((-0.2)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(2.2)))^2))*((0.2)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(2.2)))^2))*((0.6)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(2.2)))^2))*((1.0)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(2.2)))^2))*((1.4)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(2.2)))^2))*((1.8)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(2.2)))^2))*((2.2)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(2.2)))^2))*((2.6)*(2-(2.2))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(2.6)))^2))*((-3.00)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(2.6)))^2))*((-2.6)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(2.6)))^2))*((-2.2)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(2.6)))^2))*((-1.8)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(2.6)))^2))*((-1.4)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(2.6)))^2))*((-1.0)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(2.6)))^2))*((-0.6)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(2.6)))^2))*((-0.2)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(2.6)))^2))*((0.2)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(2.6)))^2))*((0.6)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(2.6)))^2))*((1.0)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(2.6)))^2))*((1.4)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(2.6)))^2))*((1.8)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(2.6)))^2))*((2.2)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 998 901 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 998 901 a 998 901 -a -tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(2.6)))^2))*((2.6)*(2-(2.6))) -) AlgParser cvx def end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a 998 901 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 998 901 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 85.5 0 -85.5 0 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false and -exch 2 lt true and or { /viceversa -85.5 85.5 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline -85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 -setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def -logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT -dx log mul add def x abs MaxValue abs le { false { x minTickline moveto -x maxTickline lineto } { x tickstart STsize mul moveto x tickend -STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke -grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick -cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le -{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline -STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave false { cntTick minTickline moveto cntTick -maxTickline lineto } { cntTick tickstart moveto cntTick tickend -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline moveto x maxTickline lineto } { x tickstart STsize -mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT -0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt -{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave cntTick tickstart moveto cntTick tickend -lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def -} ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 85.5 0.0 -85.5 /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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 85.5 0.0 -85.5 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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and -exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline -85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 - setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch -def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick -dT dx log mul add def x abs MaxValue abs le { false { x minTickline -exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch -moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth -SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs -0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch -moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick -tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch -lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def -} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin -{ gsave false { cntTick minTickline exch moveto cntTick maxTickline -exch lineto } { cntTick tickstart exch moveto cntTick tickend exch -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart -STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } -if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore -} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 -sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize -mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } -ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW -subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart -exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke -grestore }{ /showOrigin true def } ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 85.5 0.0 -85.5 /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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 85.5 0.0 -85.5 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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 930 685 a Fb(1)930 449 y(2)875 -1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 -y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p -Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray -0 TeXcolorgray eop end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec5.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec5.eps deleted file mode 100644 index 27aa2c7e13d..00000000000 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec5.eps +++ /dev/null @@ -1,14601 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software -%%Title: testps-fig1.dvi -%%CreationDate: Tue Oct 01 21:02:24 2013 -%%Pages: 1 -%%PageOrder: Ascend -%%BoundingBox: 101 580 227 698 -%%DocumentFonts: CMR8 CMSY8 -%%DocumentPaperSizes: Letter -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: DVIPS.EXE testps-fig1 -%DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2013.10.01:2102 -%%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 755 2013-03-09 08:48:58Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 1.15, 2012/10/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. -% -% -% Define the follwing gs-functions if not known, eg when using distiller -% -systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if -systemdict /.setblendmode known not {/.setblendmode { pop } def } if -systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if -% -/tx@Dict 200 dict def % the main PSTricks dictionary -tx@Dict begin -/ADict 25 dict def % The arrow dictionaray -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments -/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known -/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) -/Div { dup 0 eq { pop } { div } ifelse } def % control the division -/tan { dup cos abs 1.e-10 lt - { pop 1.e10 } % return 1.e10 as infinit - { dup sin exch cos div } ifelse % default sin/cos -} def -/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees -/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root - pop pop 0 }{ sqrt exch atan} ifelse } def -/NET { neg exch neg exch T } def % change coordinate system to the negative one -/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter -/Pyth2 { % Pythagoras, xA yA xB yB - 3 -1 roll % xA xB yB yA - sub % xA xB yB-yA - 3 1 roll % yB-yA xA xB - sub % yB-yA xA-xB - Pyth } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian -/Rand { rand 4294967295 div } def % a real random number -%----------------- hv added 20050516 --------------- -/PiDiv2 1.57079632680 def -/Pi 3.14159265359 def -/TwoPi 6.28318530718 def -/Euler 2.71828182846 def -%/e Euler bind def -% -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa -%----------------- hv end--------------------------- -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def -% -/PathLength { - flattenpath /z 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } - { /y ED /x ED PathLength@ } - {} - { /y y2 def /x x2 def PathLength@ } - /pathforall load stopped { pop pop pop pop } if - z -} def -% -/STP { .996264 dup scale } def % BP/PT scaling -/STV { SDict begin normalscale end STP } def % -% -/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 594 2011-10-31 18:13:18Z 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->EE -%% 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 -/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 130 2009-08-27 08:55:03Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 2.02, 2009/06/16 -%% -%% For distribution, see pstricks.tex. -%% -%% Timothy Van Zandt -%% -%% 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ß -% 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 -%% -%% 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 -%% -%% 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 -%% with contributions of Darrell Lamm 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: texps.pro 0 0 -%! -TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 -index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub -dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ -dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 -roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def -dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} -if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} -def end - -%%EndProcSet -%%BeginProcSet: special.pro 0 0 -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/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 -%%BeginFont: CMSY8 -%!PS-AdobeFont-1.0: CMSY8 003.002 -%%Title: CMSY8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSY8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup -/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY8 def -/FontBBox {-30 -955 1185 779 }readonly def -/UniqueID 5096649 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def -/FullName (CMSY8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /minus put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 -0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 -14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 -7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 -2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 -DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 -209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 -2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 -B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 -24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 -65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 -88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD -CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 -B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 -B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED -516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 -11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 -44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF -E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F -67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F -81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 -26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 -2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 -90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 -609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE -E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 -48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 -8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 -8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 -AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD -1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 -56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 -1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 -3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 -46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 -38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 -6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C -BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 -40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 -023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A -579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 -5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 -31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 -F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 -D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 -285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 -FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A -D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 -4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C -1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC -82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E -08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 -B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD -72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 -E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 -198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 -C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 -EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B -B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 -304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 -FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E -02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 -130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 -F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D -07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 -ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 -24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C -1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED -55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 -546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF -22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 -5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D -6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 -248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 -E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 -E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 -F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 -CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD -15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC -3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 -1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A -A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 -8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 -7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 -DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E -9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 -83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 -307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 -39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 -805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D -6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 -3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C -08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 -A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 -866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 -C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 -75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B -893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD -CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 -491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D -8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A -3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 -B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 -64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B -167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 -E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B -A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 -D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF -0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D -C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D -628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD -C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 -5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 -302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 -2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 -9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 -491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 -5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 -35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC -1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 -3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 -7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 -3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 -B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D -289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 -EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 -DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 -BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C -42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B -9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 -A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA -9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 -5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 -67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A -3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 -36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 -9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 -89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 -63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 -7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 -72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 -C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 -BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 -AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B -D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 -B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C -5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 -93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 -C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 -4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA -058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D -74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 -A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 -42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 -516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 -2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 -A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 -2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F -46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 -EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 -9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B -3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 -6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 -E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 -B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 -89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A -1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A -310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 -33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 -1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 -BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 -06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C -2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 -CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 -80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 -577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 -F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 -B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 -95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD -8E24F52934 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR8 -%!PS-AdobeFont-1.0: CMR8 003.002 -%%Title: CMR8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup -/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR8 def -/FontBBox {-36 -250 1070 750 }readonly def -/UniqueID 5000791 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def -/FullName (CMR8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 49 /one put -dup 50 /two put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B -8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF -27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF -18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB -7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A -DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 -6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 -B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 -2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 -3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 -9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 -7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D -25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 -CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD -A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 -DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE -EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB -16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 -07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E -B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B -B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C -F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 -762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 -D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 -CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C -74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 -1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 -E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 -3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE -37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 -7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 -C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 -A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D -7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 -CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD -3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC -FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 -59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 -6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 -79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 -F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B -49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 -2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B -29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F -2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 -5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 -EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 -5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E -293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF -F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 -568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 -64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C -DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 -A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 -267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D -136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 -A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 -80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 -D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB -46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A -E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 -66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 -2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 -CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF -2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 -DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C -DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B -C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 -CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B -0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F -CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E -F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 -CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 -7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF -6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 -6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C -72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 -13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE -6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 -1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 -86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 -D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B -70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 -0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 -FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 -52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 -7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B -F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA -09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 -401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 -74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 -3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 -ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 -93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 -301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 -F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 -1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E -36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 -34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C -CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 -ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B -9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 -E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A -893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 -E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE -0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 -B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB -A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 -B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F -3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 -AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 -98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF -4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B -F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 -AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E -015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A -167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F -9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 -CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 -130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 -2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D -A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 -C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 -ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A -CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 -3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 -E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 -3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 -3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D -947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 -26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 -0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 -984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E -FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 -44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 -603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B -6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C -D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE -276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF -809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 -08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 -3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF -76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 -A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 -3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 -966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 -CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 -2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF -94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 -DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 -9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 -FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E -1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 -24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C -06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC -6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 -F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 -26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 -D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 -49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 -064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A -E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A -D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 -8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 -2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 -52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 -17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF -145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F -2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 -5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 -B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 -9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 -0826E1DEB8CF0BE87C59313978F28295C0E3A01D2B5682DA86A38F390982A8FE -C3E81B8D3532C92C4A4A4BCB421D248F634447613101BA5B301431F192BC6962 -E6F9E2542F1B0D3AE7560888A9344A7EB7ACED0D46351ABA0DC93EEB47CDF0AF -28B602579EE7E3CEFE0C6F5332EB843348D80B020E7A127C634BF2A3A55B6C94 -1896769C33D5BEFA8F144D6DD702380447904C92197B8C7CB55679A6AB8FB7D6 -2E3087D2CC3CB9BC10C0CC485AE395D036339862CF98337FEEE3394157B9862A -120162EE40ADD32C55B39E4BED180B4E4F51C28377589B982F13DC6D44E758B3 -022813BABDF45231A712C97D06658FC2AAB9F59BEEF9FDBE186B7CF64ABDB9E9 -CAAB0BC223880A2DD496BC166B6C88552D2B1B23965FAB5BC51D2EE90B8E1322 -5688DEB8C76E0E9C2FC7EF7AEB6E7DAE821F73A43A5CA6814FC018337C234636 -4D61A7EE4CAD90722EF68E825686812D5A20AC3874A33E3202C32E60B44FFAFC -8D517C3A5B86ED309A0DFBC06EFA9BA510DD6C8E6292544F0EB765371C64CAC1 -F04F96546838C6E7423116B4FB72F7C81C47C55138A3819E121884A0A5E87BE8 -DE4D02 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) -@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 205[35 35 -49[{}2 66.4176 /CMR8 rf 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 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-2.00))^2))*((-2.00)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 -664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-2.00))^2))*((-1.7)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a -762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-2.00))^2))*((-1.4)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-2.00))^2))*((-1.1)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-2.00))^2))*((-0.8)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-2.00))^2))*((-0.5)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-2.00))^2))*((-0.2)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-2.00))^2))*((0.1)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-2.00))^2))*((0.4)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-2.00))^2))*((0.7)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-2.00))^2))*((1.0)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-2.00))^2))*((1.3)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-2.00))^2))*((1.6)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-2.00))^2))*((1.9)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.7))^2))*((-2.00)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.7))^2))*((-1.7)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.7))^2))*((-1.4)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.7))^2))*((-1.1)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.7))^2))*((-0.8)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.7))^2))*((-0.5)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.7))^2))*((-0.2)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.7))^2))*((0.1)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.7))^2))*((0.4)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.7))^2))*((0.7)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.7))^2))*((1.0)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.7))^2))*((1.3)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.7))^2))*((1.6)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.7))^2))*((1.9)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.4))^2))*((-2.00)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.4))^2))*((-1.7)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.4))^2))*((-1.4)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.4))^2))*((-1.1)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.4))^2))*((-0.8)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.4))^2))*((-0.5)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.4))^2))*((-0.2)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.4))^2))*((0.1)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.4))^2))*((0.4)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.4))^2))*((0.7)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.4))^2))*((1.0)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.4))^2))*((1.3)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.4))^2))*((1.6)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.4))^2))*((1.9)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.1))^2))*((-2.00)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.1))^2))*((-1.7)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.1))^2))*((-1.4)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.1))^2))*((-1.1)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.1))^2))*((-0.8)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.1))^2))*((-0.5)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.1))^2))*((-0.2)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.1))^2))*((0.1)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.1))^2))*((0.4)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.1))^2))*((0.7)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.1))^2))*((1.0)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.1))^2))*((1.3)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.1))^2))*((1.6)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.1))^2))*((1.9)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.8))^2))*((-2.00)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.8))^2))*((-1.7)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.8))^2))*((-1.4)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.8))^2))*((-1.1)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.8))^2))*((-0.8)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.8))^2))*((-0.5)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.8))^2))*((-0.2)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.8))^2))*((0.1)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.8))^2))*((0.4)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.8))^2))*((0.7)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.8))^2))*((1.0)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.8))^2))*((1.3)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.8))^2))*((1.6)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.8))^2))*((1.9)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.5))^2))*((-2.00)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.5))^2))*((-1.7)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.5))^2))*((-1.4)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.5))^2))*((-1.1)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.5))^2))*((-0.8)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.5))^2))*((-0.5)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.5))^2))*((-0.2)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.5))^2))*((0.1)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.5))^2))*((0.4)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.5))^2))*((0.7)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.5))^2))*((1.0)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.5))^2))*((1.3)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.5))^2))*((1.6)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.5))^2))*((1.9)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.2))^2))*((-2.00)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.2))^2))*((-1.7)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.2))^2))*((-1.4)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.2))^2))*((-1.1)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.2))^2))*((-0.8)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.2))^2))*((-0.5)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.2))^2))*((-0.2)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.2))^2))*((0.1)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.2))^2))*((0.4)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.2))^2))*((0.7)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.2))^2))*((1.0)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.2))^2))*((1.3)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.2))^2))*((1.6)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.2))^2))*((1.9)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.1))^2))*((-2.00)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.1))^2))*((-1.7)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.1))^2))*((-1.4)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.1))^2))*((-1.1)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.1))^2))*((-0.8)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.1))^2))*((-0.5)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.1))^2))*((-0.2)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.1))^2))*((0.1)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.1))^2))*((0.4)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.1))^2))*((0.7)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.1))^2))*((1.0)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.1))^2))*((1.3)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.1))^2))*((1.6)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.1))^2))*((1.9)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.4))^2))*((-2.00)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.4))^2))*((-1.7)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.4))^2))*((-1.4)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.4))^2))*((-1.1)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.4))^2))*((-0.8)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.4))^2))*((-0.5)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.4))^2))*((-0.2)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.4))^2))*((0.1)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.4))^2))*((0.4)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.4))^2))*((0.7)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.4))^2))*((1.0)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.4))^2))*((1.3)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.4))^2))*((1.6)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.4))^2))*((1.9)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.7))^2))*((-2.00)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.7))^2))*((-1.7)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.7))^2))*((-1.4)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.7))^2))*((-1.1)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.7))^2))*((-0.8)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.7))^2))*((-0.5)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.7))^2))*((-0.2)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.7))^2))*((0.1)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.7))^2))*((0.4)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.7))^2))*((0.7)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.7))^2))*((1.0)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.7))^2))*((1.3)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.7))^2))*((1.6)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.7))^2))*((1.9)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.0))^2))*((-2.00)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.0))^2))*((-1.7)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.0))^2))*((-1.4)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.0))^2))*((-1.1)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.0))^2))*((-0.8)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.0))^2))*((-0.5)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.0))^2))*((-0.2)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.0))^2))*((0.1)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.0))^2))*((0.4)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.0))^2))*((0.7)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.0))^2))*((1.0)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.0))^2))*((1.3)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.0))^2))*((1.6)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.0))^2))*((1.9)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.3))^2))*((-2.00)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.3))^2))*((-1.7)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.3))^2))*((-1.4)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.3))^2))*((-1.1)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.3))^2))*((-0.8)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.3))^2))*((-0.5)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.3))^2))*((-0.2)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.3))^2))*((0.1)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.3))^2))*((0.4)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.3))^2))*((0.7)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.3))^2))*((1.0)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.3))^2))*((1.3)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.3))^2))*((1.6)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.3))^2))*((1.9)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.6))^2))*((-2.00)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.6))^2))*((-1.7)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.6))^2))*((-1.4)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.6))^2))*((-1.1)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.6))^2))*((-0.8)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.6))^2))*((-0.5)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.6))^2))*((-0.2)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.6))^2))*((0.1)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.6))^2))*((0.4)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.6))^2))*((0.7)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.6))^2))*((1.0)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.6))^2))*((1.3)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.6))^2))*((1.6)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.6))^2))*((1.9)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.9))^2))*((-2.00)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.9))^2))*((-1.7)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.9))^2))*((-1.4)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.9))^2))*((-1.1)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.9))^2))*((-0.8)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.9))^2))*((-0.5)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.9))^2))*((-0.2)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.9))^2))*((0.1)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.9))^2))*((0.4)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.9))^2))*((0.7)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.9))^2))*((1.0)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.9))^2))*((1.3)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.9))^2))*((1.6)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.9))^2))*((1.9)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 59.85017 0 -57.0 0 ArrowA CP 4 2 roll ArrowB -2 copy /yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap -stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false -and exch 2 lt true and or { /viceversa -57.0 59.85017 gt { true }{ -false } ifelse def /epsilon 0.01 def /minTickline -57.0 def /maxTickline -57.0 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 -setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def -logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT -dx log mul add def x abs MaxValue abs le { false { x minTickline moveto -x maxTickline lineto } { x tickstart STsize mul moveto x tickend -STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke -grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick -cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le -{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline -STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave false { cntTick minTickline moveto cntTick -maxTickline lineto } { cntTick tickstart moveto cntTick tickend -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline moveto x maxTickline lineto } { x tickstart STsize -mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT -0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt -{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave cntTick tickstart moveto cntTick tickend -lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def -} ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 57.0 0.0 -57.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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 59.85017 0.0 -57.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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 0 57.0 0 -57.0 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and -exch 2 lt false and or { /viceversa -57.0 57.0 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -57.0 def /maxTickline -59.85017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 - setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch -def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick -dT dx log mul add def x abs MaxValue abs le { false { x minTickline -exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch -moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth -SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs -0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch -moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick -tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch -lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def -} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin -{ gsave false { cntTick minTickline exch moveto cntTick maxTickline -exch lineto } { cntTick tickstart exch moveto cntTick tickend exch -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart -STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } -if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore -} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 -sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize -mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } -ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW -subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart -exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke -grestore }{ /showOrigin true def } ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 57.0 0.0 -57.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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 59.85017 0.0 -57.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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 694 449 a Fb(1)639 919 y Fa(\000)p -Fb(1)639 1156 y Fa(\000)p Fb(2)981 740 y(1)-536 b Fa(\000)p -Fb(1)-326 b Fa(\000)p Fb(2)p 0 TeXcolorgray 0 TeXcolorgray -eop end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec6.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec6.eps deleted file mode 100644 index 6454c296f60..00000000000 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vec6.eps +++ /dev/null @@ -1,14583 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software -%%Title: testps-fig1.dvi -%%CreationDate: Tue Oct 01 21:04:03 2013 -%%Pages: 1 -%%PageOrder: Ascend -%%BoundingBox: 101 580 227 698 -%%DocumentFonts: CMR8 CMSY8 -%%DocumentPaperSizes: Letter -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: DVIPS.EXE testps-fig1 -%DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2013.10.01:2104 -%%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 755 2013-03-09 08:48:58Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 1.15, 2012/10/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. -% -% -% Define the follwing gs-functions if not known, eg when using distiller -% -systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if -systemdict /.setblendmode known not {/.setblendmode { pop } def } if -systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if -% -/tx@Dict 200 dict def % the main PSTricks dictionary -tx@Dict begin -/ADict 25 dict def % The arrow dictionaray -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments -/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known -/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) -/Div { dup 0 eq { pop } { div } ifelse } def % control the division -/tan { dup cos abs 1.e-10 lt - { pop 1.e10 } % return 1.e10 as infinit - { dup sin exch cos div } ifelse % default sin/cos -} def -/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees -/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root - pop pop 0 }{ sqrt exch atan} ifelse } def -/NET { neg exch neg exch T } def % change coordinate system to the negative one -/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter -/Pyth2 { % Pythagoras, xA yA xB yB - 3 -1 roll % xA xB yB yA - sub % xA xB yB-yA - 3 1 roll % yB-yA xA xB - sub % yB-yA xA-xB - Pyth } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian -/Rand { rand 4294967295 div } def % a real random number -%----------------- hv added 20050516 --------------- -/PiDiv2 1.57079632680 def -/Pi 3.14159265359 def -/TwoPi 6.28318530718 def -/Euler 2.71828182846 def -%/e Euler bind def -% -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa -%----------------- hv end--------------------------- -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def -% -/PathLength { - flattenpath /z 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } - { /y ED /x ED PathLength@ } - {} - { /y y2 def /x x2 def PathLength@ } - /pathforall load stopped { pop pop pop pop } if - z -} def -% -/STP { .996264 dup scale } def % BP/PT scaling -/STV { SDict begin normalscale end STP } def % -% -/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 594 2011-10-31 18:13:18Z 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->EE -%% 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 -/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 130 2009-08-27 08:55:03Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 2.02, 2009/06/16 -%% -%% For distribution, see pstricks.tex. -%% -%% Timothy Van Zandt -%% -%% 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ß -% 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 -%% -%% 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 -%% -%% 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 -%% with contributions of Darrell Lamm 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: texps.pro 0 0 -%! -TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 -index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub -dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ -dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 -roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def -dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} -if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} -def end - -%%EndProcSet -%%BeginProcSet: special.pro 0 0 -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/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 -%%BeginFont: CMSY8 -%!PS-AdobeFont-1.0: CMSY8 003.002 -%%Title: CMSY8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMSY8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup -/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY8 def -/FontBBox {-30 -955 1185 779 }readonly def -/UniqueID 5096649 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def -/FullName (CMSY8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /minus put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 -0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 -14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 -7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 -2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 -DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 -209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 -2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 -B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 -24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 -65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 -88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD -CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 -B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 -B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED -516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 -11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 -44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF -E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F -67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F -81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 -26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 -2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 -90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 -609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE -E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 -48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 -8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 -8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 -AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD -1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 -56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 -1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 -3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 -46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 -38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 -6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C -BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 -40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 -023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A -579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 -5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 -31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 -F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 -D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 -285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 -FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A -D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 -4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C -1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC -82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E -08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 -B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD -72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 -E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 -198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 -C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 -EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B -B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 -304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 -FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E -02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 -130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 -F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D -07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 -ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 -24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C -1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED -55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 -546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF -22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 -5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D -6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 -248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 -E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 -E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 -F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 -CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD -15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC -3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 -1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A -A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 -8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 -7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 -DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E -9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 -83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 -307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 -39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 -805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D -6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 -3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C -08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 -A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 -866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 -C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 -75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B -893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD -CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 -491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D -8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A -3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 -B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 -64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B -167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 -E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B -A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 -D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF -0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D -C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D -628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD -C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 -5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 -302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 -2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 -9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 -491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 -5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 -35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC -1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 -3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 -7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 -3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 -B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D -289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 -EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 -DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 -BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C -42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B -9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 -A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA -9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 -5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 -67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A -3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 -36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 -9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 -89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 -63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 -7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 -72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 -C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 -BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 -AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B -D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 -B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C -5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 -93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 -C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 -4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA -058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D -74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 -A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 -42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 -516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 -2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 -A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 -2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F -46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 -EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 -9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B -3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 -6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 -E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 -B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 -89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A -1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A -310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 -33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 -1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 -BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 -06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C -2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 -CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 -80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 -577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 -F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 -B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 -95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD -8E24F52934 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR8 -%!PS-AdobeFont-1.0: CMR8 003.002 -%%Title: CMR8 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (), with Reserved Font Name CMR8. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup -/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR8 def -/FontBBox {-36 -250 1070 750 }readonly def -/UniqueID 5000791 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def -/FullName (CMR8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 49 /one put -dup 50 /two put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B -8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF -27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF -18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB -7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A -DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 -6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 -B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 -2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 -3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 -9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 -7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D -25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 -CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD -A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 -DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE -EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB -16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 -07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E -B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B -B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C -F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 -762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 -D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 -CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C -74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 -1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 -E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 -3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE -37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 -7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 -C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 -A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D -7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 -CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD -3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC -FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 -59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 -6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 -79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 -F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B -49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 -2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B -29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F -2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 -5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 -EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 -5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E -293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF -F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 -568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 -64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C -DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 -A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 -267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D -136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 -A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 -80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 -D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB -46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A -E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 -66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 -2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 -CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF -2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 -DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C -DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B -C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 -CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B -0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F -CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E -F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 -CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 -7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF -6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 -6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C -72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 -13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE -6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 -1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 -86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 -D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B -70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 -0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 -FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 -52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 -7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B -F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA -09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 -401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 -74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 -3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 -ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 -93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 -301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 -F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 -1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E -36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 -34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C -CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 -ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B -9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 -E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A -893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 -E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE -0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 -B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB -A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 -B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F -3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 -AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 -98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF -4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B -F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 -AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E -015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A -167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F -9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 -CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 -130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 -2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D -A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 -C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 -ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A -CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 -3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 -E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 -3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 -3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D -947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 -26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 -0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 -984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E -FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 -44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 -603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B -6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C -D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE -276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF -809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 -08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 -3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF -76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 -A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 -3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 -966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 -CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 -2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF -94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 -DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 -9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 -FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E -1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 -24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C -06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC -6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 -F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 -26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 -D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 -49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 -064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A -E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A -D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 -8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 -2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 -52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 -17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF -145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F -2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 -5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 -B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 -9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 -0826E1DEB8CF0BE87C59313978F28295C0E3A01D2B5682DA86A38F390982A8FE -C3E81B8D3532C92C4A4A4BCB421D248F634447613101BA5B301431F192BC6962 -E6F9E2542F1B0D3AE7560888A9344A7EB7ACED0D46351ABA0DC93EEB47CDF0AF -28B602579EE7E3CEFE0C6F5332EB843348D80B020E7A127C634BF2A3A55B6C94 -1896769C33D5BEFA8F144D6DD702380447904C92197B8C7CB55679A6AB8FB7D6 -2E3087D2CC3CB9BC10C0CC485AE395D036339862CF98337FEEE3394157B9862A -120162EE40ADD32C55B39E4BED180B4E4F51C28377589B982F13DC6D44E758B3 -022813BABDF45231A712C97D06658FC2AAB9F59BEEF9FDBE186B7CF64ABDB9E9 -CAAB0BC223880A2DD496BC166B6C88552D2B1B23965FAB5BC51D2EE90B8E1322 -5688DEB8C76E0E9C2FC7EF7AEB6E7DAE821F73A43A5CA6814FC018337C234636 -4D61A7EE4CAD90722EF68E825686812D5A20AC3874A33E3202C32E60B44FFAFC -8D517C3A5B86ED309A0DFBC06EFA9BA510DD6C8E6292544F0EB765371C64CAC1 -F04F96546838C6E7423116B4FB72F7C81C47C55138A3819E121884A0A5E87BE8 -DE4D02 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) -@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 205[35 35 -49[{}2 66.4176 /CMR8 rf 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 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-2.00))^2))*((-2.00)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 -664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-2.00))^2))*((-1.7)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a -762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-2.00))^2))*((-1.4)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-2.00))^2))*((-1.1)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-2.00))^2))*((-0.8)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-2.00))^2))*((-0.5)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-2.00))^2))*((-0.2)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-2.00))^2))*((0.1)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-2.00))^2))*((0.4)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-2.00))^2))*((0.7)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-2.00))^2))*((1.0)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-2.00))^2))*((1.3)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-2.00))^2))*((1.6)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-2.00))^2))*((1.9)-2*(-2.00)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.7))^2))*((-2.00)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.7))^2))*((-1.7)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.7))^2))*((-1.4)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.7))^2))*((-1.1)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.7))^2))*((-0.8)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.7))^2))*((-0.5)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.7))^2))*((-0.2)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.7))^2))*((0.1)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.7))^2))*((0.4)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.7))^2))*((0.7)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.7))^2))*((1.0)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.7))^2))*((1.3)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.7))^2))*((1.6)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.7))^2))*((1.9)-2*(-1.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.4))^2))*((-2.00)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.4))^2))*((-1.7)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.4))^2))*((-1.4)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.4))^2))*((-1.1)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.4))^2))*((-0.8)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.4))^2))*((-0.5)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.4))^2))*((-0.2)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.4))^2))*((0.1)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.4))^2))*((0.4)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.4))^2))*((0.7)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.4))^2))*((1.0)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.4))^2))*((1.3)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.4))^2))*((1.6)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.4))^2))*((1.9)-2*(-1.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.1))^2))*((-2.00)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.1))^2))*((-1.7)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.1))^2))*((-1.4)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.1))^2))*((-1.1)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.1))^2))*((-0.8)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.1))^2))*((-0.5)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.1))^2))*((-0.2)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.1))^2))*((0.1)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.1))^2))*((0.4)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.1))^2))*((0.7)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.1))^2))*((1.0)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.1))^2))*((1.3)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.1))^2))*((1.6)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.1))^2))*((1.9)-2*(-1.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.8))^2))*((-2.00)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.8))^2))*((-1.7)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.8))^2))*((-1.4)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.8))^2))*((-1.1)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.8))^2))*((-0.8)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.8))^2))*((-0.5)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.8))^2))*((-0.2)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.8))^2))*((0.1)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.8))^2))*((0.4)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.8))^2))*((0.7)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.8))^2))*((1.0)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.8))^2))*((1.3)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.8))^2))*((1.6)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.8))^2))*((1.9)-2*(-0.8)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.5))^2))*((-2.00)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.5))^2))*((-1.7)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.5))^2))*((-1.4)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.5))^2))*((-1.1)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.5))^2))*((-0.8)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.5))^2))*((-0.5)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.5))^2))*((-0.2)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.5))^2))*((0.1)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.5))^2))*((0.4)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.5))^2))*((0.7)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.5))^2))*((1.0)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.5))^2))*((1.3)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.5))^2))*((1.6)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.5))^2))*((1.9)-2*(-0.5)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.2))^2))*((-2.00)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.2))^2))*((-1.7)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.2))^2))*((-1.4)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.2))^2))*((-1.1)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.2))^2))*((-0.8)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.2))^2))*((-0.5)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.2))^2))*((-0.2)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.2))^2))*((0.1)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.2))^2))*((0.4)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.2))^2))*((0.7)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.2))^2))*((1.0)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.2))^2))*((1.3)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.2))^2))*((1.6)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.2))^2))*((1.9)-2*(-0.2)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.1))^2))*((-2.00)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.1))^2))*((-1.7)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.1))^2))*((-1.4)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.1))^2))*((-1.1)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.1))^2))*((-0.8)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.1))^2))*((-0.5)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.1))^2))*((-0.2)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.1))^2))*((0.1)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.1))^2))*((0.4)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.1))^2))*((0.7)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.1))^2))*((1.0)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.1))^2))*((1.3)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.1))^2))*((1.6)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.1))^2))*((1.9)-2*(0.1)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.4))^2))*((-2.00)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.4))^2))*((-1.7)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.4))^2))*((-1.4)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.4))^2))*((-1.1)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.4))^2))*((-0.8)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.4))^2))*((-0.5)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.4))^2))*((-0.2)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.4))^2))*((0.1)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.4))^2))*((0.4)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.4))^2))*((0.7)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.4))^2))*((1.0)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.4))^2))*((1.3)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.4))^2))*((1.6)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.4))^2))*((1.9)-2*(0.4)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.7))^2))*((-2.00)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.7))^2))*((-1.7)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.7))^2))*((-1.4)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.7))^2))*((-1.1)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.7))^2))*((-0.8)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.7))^2))*((-0.5)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.7))^2))*((-0.2)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.7))^2))*((0.1)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.7))^2))*((0.4)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.7))^2))*((0.7)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.7))^2))*((1.0)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.7))^2))*((1.3)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.7))^2))*((1.6)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.7))^2))*((1.9)-2*(0.7)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.0))^2))*((-2.00)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.0))^2))*((-1.7)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.0))^2))*((-1.4)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.0))^2))*((-1.1)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.0))^2))*((-0.8)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.0))^2))*((-0.5)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.0))^2))*((-0.2)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.0))^2))*((0.1)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.0))^2))*((0.4)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.0))^2))*((0.7)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.0))^2))*((1.0)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.0))^2))*((1.3)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.0))^2))*((1.6)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.0))^2))*((1.9)-2*(1.0)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.9 0.9 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.3))^2))*((-2.00)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.3))^2))*((-1.7)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.3))^2))*((-1.4)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.3))^2))*((-1.1)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.3))^2))*((-0.8)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.3))^2))*((-0.5)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.3))^2))*((-0.2)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.3))^2))*((0.1)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.3))^2))*((0.4)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.3))^2))*((0.7)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.3))^2))*((1.0)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.3))^2))*((1.3)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.3))^2))*((1.6)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.3))^2))*((1.9)-2*(1.3)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.8 0.8 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.6))^2))*((-2.00)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.6))^2))*((-1.7)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.6))^2))*((-1.4)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.6))^2))*((-1.1)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.6))^2))*((-0.8)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.6))^2))*((-0.5)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.6))^2))*((-0.2)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.6))^2))*((0.1)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.6))^2))*((0.4)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.6))^2))*((0.7)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.6))^2))*((1.0)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.6))^2))*((1.3)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.6))^2))*((1.6)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.6))^2))*((1.9)-2*(1.6)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.7 0.7 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.9))^2))*((-2.00)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.9))^2))*((-1.7)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.9))^2))*((-1.4)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.9))^2))*((-1.1)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.9))^2))*((-0.8)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0 0 setrgbcolor 1. -.setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.9))^2))*((-0.5)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.1 0.1 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.9))^2))*((-0.2)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.9))^2))*((0.1)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.2 0.2 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.9))^2))*((0.4)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.9))^2))*((0.7)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.3 0.3 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.9))^2))*((1.0)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.4 0.4 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.9))^2))*((1.3)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.9))^2))*((1.6)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.5 0.5 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial 762 664 a -tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def - 762 664 a 762 664 -a -tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.9))^2))*((1.9)-2*(1.9)) -) AlgParser cvx def end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a 762 664 a -tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 -mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} -def NewNode end end - 762 664 a @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter -} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 -load GetCenter } { 0 0 } ifelse end /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.8 SLW 1 0.6 0.6 setrgbcolor - 1. .setopacityalpha 1 setlinejoin 0 setlinecap stroke grestore -end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 59.85017 0 -57.0 0 ArrowA CP 4 2 roll ArrowB -2 copy /yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap -stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false -and exch 2 lt true and or { /viceversa -57.0 59.85017 gt { true }{ -false } ifelse def /epsilon 0.01 def /minTickline -57.0 def /maxTickline -57.0 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 -setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def -logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT -dx log mul add def x abs MaxValue abs le { false { x minTickline moveto -x maxTickline lineto } { x tickstart STsize mul moveto x tickend -STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke -grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick -cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le -{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline -STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave false { cntTick minTickline moveto cntTick -maxTickline lineto } { cntTick tickstart moveto cntTick tickend -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline moveto x maxTickline lineto } { x tickstart STsize -mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT -0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt -{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick -tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick -dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore -} if showOrigin { gsave cntTick tickstart moveto cntTick tickend -lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def -} ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 57.0 0.0 -57.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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 59.85017 0.0 -57.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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial @setspecial - tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } -def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul -add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if -gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore -grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def -/showOrigin true def 0 57.0 0 -57.0 ArrowA CP 4 2 roll ArrowB 2 copy -/yEnd exch def /xEnd exch def L 1 setlinejoin 0 setlinecap stroke - stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and -exch 2 lt false and or { /viceversa -57.0 57.0 gt { true }{ false -} ifelse def /epsilon 0.01 def /minTickline -57.0 def /maxTickline -59.85017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo -1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse -0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth -0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { -0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. - CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add -} ifelse } def /logLines { false } def /LSstroke { 1 setlinejoin -0 setlinecap stroke stroke} def /subLSstroke { 1 setlinejoin 0 - setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch -def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick -dT dx log mul add def x abs MaxValue abs le { false { x minTickline -exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch -moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth -SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs -0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick -abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch -moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick -tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch -lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def -} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin -{ gsave false { cntTick minTickline exch moveto cntTick maxTickline -exch lineto } { cntTick tickstart exch moveto cntTick tickend exch -lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin -true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT -dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse -{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch -def /x cntTick dT dx log mul add def x abs MinValue abs le { false -{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart -STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } -if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore -} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 -sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize -mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } -ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW -subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart -exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke -grestore }{ /showOrigin true def } ifelse } for } if end - -@endspecial -@beginspecial @setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 0.0 57.0 0.0 -57.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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial @beginspecial -@setspecial - tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow -1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul -dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 -0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub -moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray -/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 -h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto -gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside -{ } def [ 59.85017 0.0 -57.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.7 SLW 0 setgray 1. .setopacityalpha 1 setlinejoin -0 setlinecap stroke grestore end - -@endspecial 694 449 a Fb(1)639 919 y Fa(\000)p -Fb(1)639 1156 y Fa(\000)p Fb(2)981 740 y(1)-536 b Fa(\000)p -Fb(1)-326 b Fa(\000)p Fb(2)p 0 TeXcolorgray 0 TeXcolorgray -eop end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb1.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb1.eps new file mode 100644 index 00000000000..8954f47408c --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb1.eps @@ -0,0 +1,14943 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: testps-fig1.dvi +%%CreationDate: Tue Apr 01 22:39:21 2014 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 101 519 281 699 +%%DocumentFonts: CMR8 CMSY8 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: DVIPS.EXE testps-fig1 +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2014.04.01:2239 +%%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 +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}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 755 2013-03-09 08:48:58Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.15, 2012/10/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. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/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 594 2011-10-31 18:13:18Z 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->EE +%% 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 +/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 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt +%% +%% 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ß +% 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 +%% +%% 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: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.0: CMSY8 003.002 +%%Title: CMSY8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup +/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY8 def +/FontBBox {-30 -955 1185 779 }readonly def +/UniqueID 5096649 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 +0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 +14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 +7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 +2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 +DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 +209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 +2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 +B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 +24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 +65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 +88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD +CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 +B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 +B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED +516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 +11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 +44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF +E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F +67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F +81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 +26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 +2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 +90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 +609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE +E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 +48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 +8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 +8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 +AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD +1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 +56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 +1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 +3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 +46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 +38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 +6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C +BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 +40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 +023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A +579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 +5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 +31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 +F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 +D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 +285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 +FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A +D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 +4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C +1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC +82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E +08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 +B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD +72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 +E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 +198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 +C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 +EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B +B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 +304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 +FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E +02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 +130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 +F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D +07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 +ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 +24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C +1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED +55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 +546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF +22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 +5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D +6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 +248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 +E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 +E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 +F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 +CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD +15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC +3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 +1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A +A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 +8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 +7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 +DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E +9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 +83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 +307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 +39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 +805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D +6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 +3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C +08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 +A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 +866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 +C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 +75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B +893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD +CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 +491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D +8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A +3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 +B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 +64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B +167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 +E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B +A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 +D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF +0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D +C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D +628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD +C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 +5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 +302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 +2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 +9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 +491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 +5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 +35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC +1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 +3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 +7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 +3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 +B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D +289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 +EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 +DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 +BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C +42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B +9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 +A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA +9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 +5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 +67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A +3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 +36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 +9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 +89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 +63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 +7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 +72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 +C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 +BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 +AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B +D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 +B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C +5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 +93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 +C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 +4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA +058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D +74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 +A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 +42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 +516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 +2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 +A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 +2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F +46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 +EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 +9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B +3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 +6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 +E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 +B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 +89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A +1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A +310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 +33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 +1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 +BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 +06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C +2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 +CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 +80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 +577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 +F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 +B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 +95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD +8E24F52934 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 51 /three put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 +5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 +B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 +9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 +0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 +8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 +6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC +78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 +368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB +7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED +6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE +91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B +DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 +6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F +AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA +3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D +5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E +F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 +D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 +7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 +6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A +0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE +63150A652A07E2AD6080FFA6DC62C23A735C8A062333 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) +@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 +35 49[{}3 66.4176 /CMR8 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 165 192 a + /pssetRGBcolor /setrgbcolor load def /pssetCMYKcolor /setcmykcolor +load def /pssetGraycolor /setgray load def + +165 192 a 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 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-3.00))^2))*(sin(-3.00)*cos(-3.00)) +) AlgParser cvx def end + 998 +901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-3.00))^2))*(sin(-2.6)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-3.00))^2))*(sin(-2.2)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-3.00))^2))*(sin(-1.8)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-3.00))^2))*(sin(-1.4)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-3.00))^2))*(sin(-1.0)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-3.00))^2))*(sin(-0.6)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-3.00))^2))*(sin(-0.2)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-3.00))^2))*(sin(0.2)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-3.00))^2))*(sin(0.6)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-3.00))^2))*(sin(1.0)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-3.00))^2))*(sin(1.4)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-3.00))^2))*(sin(1.8)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-3.00))^2))*(sin(2.2)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-3.00))^2))*(sin(2.6)*cos(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.6))^2))*(sin(-3.00)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.6))^2))*(sin(-2.6)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.6))^2))*(sin(-2.2)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.6))^2))*(sin(-1.8)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.6))^2))*(sin(-1.4)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.6))^2))*(sin(-1.0)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.6))^2))*(sin(-0.6)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.6))^2))*(sin(-0.2)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.6))^2))*(sin(0.2)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.6))^2))*(sin(0.6)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.6))^2))*(sin(1.0)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.6))^2))*(sin(1.4)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.6))^2))*(sin(1.8)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.6))^2))*(sin(2.2)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.6))^2))*(sin(2.6)*cos(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-2.2))^2))*(sin(-3.00)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-2.2))^2))*(sin(-2.6)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-2.2))^2))*(sin(-2.2)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-2.2))^2))*(sin(-1.8)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-2.2))^2))*(sin(-1.4)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-2.2))^2))*(sin(-1.0)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-2.2))^2))*(sin(-0.6)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-2.2))^2))*(sin(-0.2)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-2.2))^2))*(sin(0.2)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-2.2))^2))*(sin(0.6)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-2.2))^2))*(sin(1.0)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-2.2))^2))*(sin(1.4)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-2.2))^2))*(sin(1.8)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-2.2))^2))*(sin(2.2)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-2.2))^2))*(sin(2.6)*cos(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.8))^2))*(sin(-3.00)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.8))^2))*(sin(-2.6)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.8))^2))*(sin(-2.2)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.8))^2))*(sin(-1.8)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.8))^2))*(sin(-1.4)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.8))^2))*(sin(-1.0)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.8))^2))*(sin(-0.6)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.8))^2))*(sin(-0.2)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.8))^2))*(sin(0.2)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.8))^2))*(sin(0.6)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.8))^2))*(sin(1.0)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.8))^2))*(sin(1.4)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.8))^2))*(sin(1.8)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.8))^2))*(sin(2.2)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.8))^2))*(sin(2.6)*cos(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.4))^2))*(sin(-3.00)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.4))^2))*(sin(-2.6)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.4))^2))*(sin(-2.2)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.4))^2))*(sin(-1.8)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.4))^2))*(sin(-1.4)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.4))^2))*(sin(-1.0)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.4))^2))*(sin(-0.6)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.4))^2))*(sin(-0.2)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.4))^2))*(sin(0.2)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.4))^2))*(sin(0.6)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.4))^2))*(sin(1.0)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.4))^2))*(sin(1.4)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.4))^2))*(sin(1.8)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.4))^2))*(sin(2.2)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.4))^2))*(sin(2.6)*cos(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-1.0))^2))*(sin(-3.00)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-1.0))^2))*(sin(-2.6)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-1.0))^2))*(sin(-2.2)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-1.0))^2))*(sin(-1.8)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-1.0))^2))*(sin(-1.4)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-1.0))^2))*(sin(-1.0)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-1.0))^2))*(sin(-0.6)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-1.0))^2))*(sin(-0.2)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-1.0))^2))*(sin(0.2)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-1.0))^2))*(sin(0.6)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-1.0))^2))*(sin(1.0)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-1.0))^2))*(sin(1.4)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-1.0))^2))*(sin(1.8)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-1.0))^2))*(sin(2.2)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-1.0))^2))*(sin(2.6)*cos(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.6))^2))*(sin(-3.00)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.6))^2))*(sin(-2.6)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.6))^2))*(sin(-2.2)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.6))^2))*(sin(-1.8)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.6))^2))*(sin(-1.4)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.6))^2))*(sin(-1.0)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.6))^2))*(sin(-0.6)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.6))^2))*(sin(-0.2)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.6))^2))*(sin(0.2)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.6))^2))*(sin(0.6)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.6))^2))*(sin(1.0)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.6))^2))*(sin(1.4)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.6))^2))*(sin(1.8)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.6))^2))*(sin(2.2)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.6))^2))*(sin(2.6)*cos(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(-0.2))^2))*(sin(-3.00)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(-0.2))^2))*(sin(-2.6)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(-0.2))^2))*(sin(-2.2)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(-0.2))^2))*(sin(-1.8)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(-0.2))^2))*(sin(-1.4)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(-0.2))^2))*(sin(-1.0)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(-0.2))^2))*(sin(-0.6)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(-0.2))^2))*(sin(-0.2)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(-0.2))^2))*(sin(0.2)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(-0.2))^2))*(sin(0.6)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(-0.2))^2))*(sin(1.0)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(-0.2))^2))*(sin(1.4)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(-0.2))^2))*(sin(1.8)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(-0.2))^2))*(sin(2.2)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(-0.2))^2))*(sin(2.6)*cos(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.2))^2))*(sin(-3.00)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.2))^2))*(sin(-2.6)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.2))^2))*(sin(-2.2)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.2))^2))*(sin(-1.8)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.2))^2))*(sin(-1.4)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.2))^2))*(sin(-1.0)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.2))^2))*(sin(-0.6)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.2))^2))*(sin(-0.2)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.2))^2))*(sin(0.2)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.2))^2))*(sin(0.6)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.2))^2))*(sin(1.0)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.2))^2))*(sin(1.4)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.2))^2))*(sin(1.8)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.2))^2))*(sin(2.2)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.2))^2))*(sin(2.6)*cos(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(0.6))^2))*(sin(-3.00)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(0.6))^2))*(sin(-2.6)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(0.6))^2))*(sin(-2.2)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(0.6))^2))*(sin(-1.8)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(0.6))^2))*(sin(-1.4)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(0.6))^2))*(sin(-1.0)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(0.6))^2))*(sin(-0.6)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(0.6))^2))*(sin(-0.2)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(0.6))^2))*(sin(0.2)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(0.6))^2))*(sin(0.6)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(0.6))^2))*(sin(1.0)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(0.6))^2))*(sin(1.4)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(0.6))^2))*(sin(1.8)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(0.6))^2))*(sin(2.2)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(0.6))^2))*(sin(2.6)*cos(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.0))^2))*(sin(-3.00)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.0))^2))*(sin(-2.6)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.0))^2))*(sin(-2.2)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.0))^2))*(sin(-1.8)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.0))^2))*(sin(-1.4)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.0))^2))*(sin(-1.0)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.0))^2))*(sin(-0.6)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.0))^2))*(sin(-0.2)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.0))^2))*(sin(0.2)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.0))^2))*(sin(0.6)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.0))^2))*(sin(1.0)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.0))^2))*(sin(1.4)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.0))^2))*(sin(1.8)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.0))^2))*(sin(2.2)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.0))^2))*(sin(2.6)*cos(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.4))^2))*(sin(-3.00)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.4))^2))*(sin(-2.6)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.4))^2))*(sin(-2.2)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.4))^2))*(sin(-1.8)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.4))^2))*(sin(-1.4)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.4))^2))*(sin(-1.0)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.4))^2))*(sin(-0.6)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.4))^2))*(sin(-0.2)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.4))^2))*(sin(0.2)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.4))^2))*(sin(0.6)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.4))^2))*(sin(1.0)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.4))^2))*(sin(1.4)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.4))^2))*(sin(1.8)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.4))^2))*(sin(2.2)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.4))^2))*(sin(2.6)*cos(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(1.8))^2))*(sin(-3.00)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(1.8))^2))*(sin(-2.6)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(1.8))^2))*(sin(-2.2)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(1.8))^2))*(sin(-1.8)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(1.8))^2))*(sin(-1.4)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(1.8))^2))*(sin(-1.0)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(1.8))^2))*(sin(-0.6)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(1.8))^2))*(sin(-0.2)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(1.8))^2))*(sin(0.2)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(1.8))^2))*(sin(0.6)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(1.8))^2))*(sin(1.0)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(1.8))^2))*(sin(1.4)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(1.8))^2))*(sin(1.8)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(1.8))^2))*(sin(2.2)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(1.8))^2))*(sin(2.6)*cos(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.2))^2))*(sin(-3.00)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.2))^2))*(sin(-2.6)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.2))^2))*(sin(-2.2)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.2))^2))*(sin(-1.8)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.2))^2))*(sin(-1.4)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.2))^2))*(sin(-1.0)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.2))^2))*(sin(-0.6)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.2))^2))*(sin(-0.2)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.2))^2))*(sin(0.2)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.2))^2))*(sin(0.6)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.2))^2))*(sin(1.0)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.2))^2))*(sin(1.4)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.2))^2))*(sin(1.8)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.2))^2))*(sin(2.2)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.2))^2))*(sin(2.6)*cos(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-3.00)*cos(2.6))^2))*(sin(-3.00)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.6)*cos(2.6))^2))*(sin(-2.6)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-2.2)*cos(2.6))^2))*(sin(-2.2)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.8)*cos(2.6))^2))*(sin(-1.8)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.4)*cos(2.6))^2))*(sin(-1.4)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-1.0)*cos(2.6))^2))*(sin(-1.0)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.6)*cos(2.6))^2))*(sin(-0.6)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(-0.2)*cos(2.6))^2))*(sin(-0.2)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(0.2)*cos(2.6))^2))*(sin(0.2)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(0.6)*cos(2.6))^2))*(sin(0.6)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.0)*cos(2.6))^2))*(sin(1.0)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.4)*cos(2.6))^2))*(sin(1.4)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(1.8)*cos(2.6))^2))*(sin(1.8)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(2.2)*cos(2.6))^2))*(sin(2.2)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+(sin(2.6)*cos(2.6))^2))*(sin(2.6)*cos(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 88.35017 0 -85.5 0 ArrowA CP 4 2 roll ArrowB +2 copy /yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap +stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false +and exch 2 lt true and or { /viceversa -85.5 88.35017 gt { true }{ +false } ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline +85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 +setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def +logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT +dx log mul add def x abs MaxValue abs le { false { x minTickline moveto +x maxTickline lineto } { x tickstart STsize mul moveto x tickend +STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke +grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick +cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le +{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline +STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave false { cntTick minTickline moveto cntTick +maxTickline lineto } { cntTick tickstart moveto cntTick tickend +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline moveto x maxTickline lineto } { x tickstart STsize +mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT +0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt +{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave cntTick tickstart moveto cntTick tickend +lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def +} ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy +/yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap stroke + stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and +exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false +} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline +88.35017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 + setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch +def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick +dT dx log mul add def x abs MaxValue abs le { false { x minTickline +exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch +moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth +SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs +0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch +moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick +tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch +lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def +} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin +{ gsave false { cntTick minTickline exch moveto cntTick maxTickline +exch lineto } { cntTick tickstart exch moveto cntTick tickend exch +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart +STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } +if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore +} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 +sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize +mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } +ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW +subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart +exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke +grestore }{ /showOrigin true def } ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 930 685 a Fb(1)930 449 y(2)875 +1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 +y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p +Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray +0 TeXcolorgray eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb2.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb2.eps new file mode 100644 index 00000000000..7b7b1accb84 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb2.eps @@ -0,0 +1,22808 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: testps-fig1.dvi +%%CreationDate: Tue Apr 01 22:56:18 2014 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 101 518 281 699 +%%DocumentFonts: CMR8 CMSY8 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: DVIPS.EXE testps-fig1 +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2014.04.01:2256 +%%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 +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}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 755 2013-03-09 08:48:58Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.15, 2012/10/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. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/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 594 2011-10-31 18:13:18Z 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->EE +%% 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 +/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 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt +%% +%% 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ß +% 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 +%% +%% 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: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.0: CMSY8 003.002 +%%Title: CMSY8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup +/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY8 def +/FontBBox {-30 -955 1185 779 }readonly def +/UniqueID 5096649 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 +0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 +14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 +7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 +2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 +DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 +209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 +2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 +B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 +24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 +65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 +88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD +CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 +B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 +B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED +516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 +11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 +44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF +E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F +67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F +81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 +26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 +2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 +90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 +609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE +E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 +48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 +8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 +8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 +AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD +1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 +56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 +1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 +3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 +46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 +38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 +6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C +BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 +40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 +023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A +579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 +5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 +31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 +F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 +D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 +285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 +FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A +D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 +4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C +1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC +82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E +08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 +B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD +72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 +E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 +198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 +C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 +EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B +B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 +304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 +FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E +02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 +130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 +F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D +07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 +ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 +24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C +1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED +55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 +546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF +22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 +5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D +6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 +248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 +E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 +E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 +F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 +CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD +15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC +3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 +1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A +A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 +8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 +7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 +DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E +9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 +83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 +307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 +39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 +805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D +6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 +3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C +08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 +A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 +866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 +C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 +75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B +893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD +CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 +491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D +8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A +3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 +B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 +64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B +167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 +E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B +A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 +D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF +0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D +C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D +628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD +C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 +5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 +302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 +2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 +9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 +491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 +5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 +35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC +1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 +3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 +7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 +3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 +B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D +289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 +EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 +DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 +BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C +42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B +9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 +A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA +9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 +5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 +67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A +3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 +36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 +9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 +89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 +63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 +7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 +72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 +C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 +BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 +AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B +D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 +B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C +5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 +93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 +C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 +4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA +058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D +74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 +A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 +42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 +516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 +2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 +A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 +2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F +46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 +EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 +9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B +3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 +6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 +E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 +B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 +89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A +1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A +310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 +33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 +1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 +BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 +06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C +2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 +CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 +80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 +577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 +F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 +B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 +95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD +8E24F52934 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 51 /three put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 +5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 +B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 +9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 +0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 +8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 +6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC +78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 +368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB +7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED +6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE +91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B +DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 +6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F +AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA +3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D +5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E +F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 +D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 +7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 +6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A +0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE +63150A652A07E2AD6080FFA6DC62C23A735C8A062333 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) +@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 +35 49[{}3 66.4176 /CMR8 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 165 192 a + /pssetRGBcolor /setrgbcolor load def /pssetCMYKcolor /setcmykcolor +load def /pssetGraycolor /setgray load def + +165 192 a 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 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-3.00)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 +901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-2.7)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-2.4)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-2.1)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-1.8)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-1.5)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-1.2)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-0.9)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-0.6)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-3.00)/(1+(-3.00)^2))^2))*(2*(-0.3)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-3.00)/(1+(-3.00)^2))^2))*(2*(0.0)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-3.00)/(1+(-3.00)^2))^2))*(2*(0.3)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-3.00)/(1+(-3.00)^2))^2))*(2*(0.6)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-3.00)/(1+(-3.00)^2))^2))*(2*(0.9)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-3.00)/(1+(-3.00)^2))^2))*(2*(1.2)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-3.00)/(1+(-3.00)^2))^2))*(2*(1.5)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-3.00)/(1+(-3.00)^2))^2))*(2*(1.8)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-3.00)/(1+(-3.00)^2))^2))*(2*(2.1)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-3.00)/(1+(-3.00)^2))^2))*(2*(2.4)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-3.00)/(1+(-3.00)^2))^2))|-3.00+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-3.00)/(1+(-3.00)^2))^2))*(2*(2.7)*(-3.00)/(1+(-3.00)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-3.00)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-2.7)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-2.4)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-2.1)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-1.8)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-1.5)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-1.2)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-0.9)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-0.6)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.7)/(1+(-2.7)^2))^2))*(2*(-0.3)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.7)/(1+(-2.7)^2))^2))*(2*(0.0)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.7)/(1+(-2.7)^2))^2))*(2*(0.3)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.7)/(1+(-2.7)^2))^2))*(2*(0.6)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.7)/(1+(-2.7)^2))^2))*(2*(0.9)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.7)/(1+(-2.7)^2))^2))*(2*(1.2)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.7)/(1+(-2.7)^2))^2))*(2*(1.5)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.7)/(1+(-2.7)^2))^2))*(2*(1.8)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.7)/(1+(-2.7)^2))^2))*(2*(2.1)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.7)/(1+(-2.7)^2))^2))*(2*(2.4)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.7)/(1+(-2.7)^2))^2))|-2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.7)/(1+(-2.7)^2))^2))*(2*(2.7)*(-2.7)/(1+(-2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-3.00)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-2.7)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-2.4)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-2.1)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-1.8)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-1.5)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-1.2)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-0.9)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-0.6)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.4)/(1+(-2.4)^2))^2))*(2*(-0.3)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.4)/(1+(-2.4)^2))^2))*(2*(0.0)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.4)/(1+(-2.4)^2))^2))*(2*(0.3)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.4)/(1+(-2.4)^2))^2))*(2*(0.6)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.4)/(1+(-2.4)^2))^2))*(2*(0.9)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.4)/(1+(-2.4)^2))^2))*(2*(1.2)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.4)/(1+(-2.4)^2))^2))*(2*(1.5)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.4)/(1+(-2.4)^2))^2))*(2*(1.8)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.4)/(1+(-2.4)^2))^2))*(2*(2.1)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.4)/(1+(-2.4)^2))^2))*(2*(2.4)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.4)/(1+(-2.4)^2))^2))|-2.4+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.4)/(1+(-2.4)^2))^2))*(2*(2.7)*(-2.4)/(1+(-2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-3.00)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-2.7)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-2.4)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-2.1)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-1.8)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-1.5)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-1.2)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-0.9)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-0.6)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-2.1)/(1+(-2.1)^2))^2))*(2*(-0.3)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-2.1)/(1+(-2.1)^2))^2))*(2*(0.0)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-2.1)/(1+(-2.1)^2))^2))*(2*(0.3)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-2.1)/(1+(-2.1)^2))^2))*(2*(0.6)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-2.1)/(1+(-2.1)^2))^2))*(2*(0.9)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-2.1)/(1+(-2.1)^2))^2))*(2*(1.2)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-2.1)/(1+(-2.1)^2))^2))*(2*(1.5)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-2.1)/(1+(-2.1)^2))^2))*(2*(1.8)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-2.1)/(1+(-2.1)^2))^2))*(2*(2.1)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-2.1)/(1+(-2.1)^2))^2))*(2*(2.4)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.1)/(1+(-2.1)^2))^2))|-2.1+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-2.1)/(1+(-2.1)^2))^2))*(2*(2.7)*(-2.1)/(1+(-2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-3.00)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-2.7)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-2.4)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-2.1)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-1.8)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-1.5)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-1.2)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-0.9)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-0.6)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.8)/(1+(-1.8)^2))^2))*(2*(-0.3)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.8)/(1+(-1.8)^2))^2))*(2*(0.0)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.8)/(1+(-1.8)^2))^2))*(2*(0.3)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.8)/(1+(-1.8)^2))^2))*(2*(0.6)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.8)/(1+(-1.8)^2))^2))*(2*(0.9)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.8)/(1+(-1.8)^2))^2))*(2*(1.2)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.8)/(1+(-1.8)^2))^2))*(2*(1.5)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.8)/(1+(-1.8)^2))^2))*(2*(1.8)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.8)/(1+(-1.8)^2))^2))*(2*(2.1)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.8)/(1+(-1.8)^2))^2))*(2*(2.4)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.8)/(1+(-1.8)^2))^2))|-1.8+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.8)/(1+(-1.8)^2))^2))*(2*(2.7)*(-1.8)/(1+(-1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-3.00)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-2.7)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-2.4)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-2.1)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-1.8)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-1.5)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-1.2)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-0.9)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-0.6)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.5)/(1+(-1.5)^2))^2))*(2*(-0.3)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.5)/(1+(-1.5)^2))^2))*(2*(0.0)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.5)/(1+(-1.5)^2))^2))*(2*(0.3)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.5)/(1+(-1.5)^2))^2))*(2*(0.6)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.5)/(1+(-1.5)^2))^2))*(2*(0.9)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.5)/(1+(-1.5)^2))^2))*(2*(1.2)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.5)/(1+(-1.5)^2))^2))*(2*(1.5)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.5)/(1+(-1.5)^2))^2))*(2*(1.8)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.5)/(1+(-1.5)^2))^2))*(2*(2.1)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.5)/(1+(-1.5)^2))^2))*(2*(2.4)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.5)/(1+(-1.5)^2))^2))|-1.5+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.5)/(1+(-1.5)^2))^2))*(2*(2.7)*(-1.5)/(1+(-1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-3.00)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-2.7)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-2.4)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-2.1)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-1.8)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-1.5)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-1.2)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-0.9)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-0.6)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-1.2)/(1+(-1.2)^2))^2))*(2*(-0.3)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-1.2)/(1+(-1.2)^2))^2))*(2*(0.0)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-1.2)/(1+(-1.2)^2))^2))*(2*(0.3)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-1.2)/(1+(-1.2)^2))^2))*(2*(0.6)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-1.2)/(1+(-1.2)^2))^2))*(2*(0.9)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-1.2)/(1+(-1.2)^2))^2))*(2*(1.2)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-1.2)/(1+(-1.2)^2))^2))*(2*(1.5)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-1.2)/(1+(-1.2)^2))^2))*(2*(1.8)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-1.2)/(1+(-1.2)^2))^2))*(2*(2.1)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-1.2)/(1+(-1.2)^2))^2))*(2*(2.4)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.2)/(1+(-1.2)^2))^2))|-1.2+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-1.2)/(1+(-1.2)^2))^2))*(2*(2.7)*(-1.2)/(1+(-1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-3.00)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-2.7)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-2.4)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-2.1)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-1.8)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-1.5)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-1.2)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-0.9)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-0.6)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.9)/(1+(-0.9)^2))^2))*(2*(-0.3)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.9)/(1+(-0.9)^2))^2))*(2*(0.0)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.9)/(1+(-0.9)^2))^2))*(2*(0.3)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.9)/(1+(-0.9)^2))^2))*(2*(0.6)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.9)/(1+(-0.9)^2))^2))*(2*(0.9)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.9)/(1+(-0.9)^2))^2))*(2*(1.2)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.9)/(1+(-0.9)^2))^2))*(2*(1.5)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.9)/(1+(-0.9)^2))^2))*(2*(1.8)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.9)/(1+(-0.9)^2))^2))*(2*(2.1)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.9)/(1+(-0.9)^2))^2))*(2*(2.4)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.9)/(1+(-0.9)^2))^2))|-0.9+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.9)/(1+(-0.9)^2))^2))*(2*(2.7)*(-0.9)/(1+(-0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-3.00)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-2.7)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-2.4)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-2.1)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-1.8)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-1.5)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-1.2)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-0.9)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-0.6)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.6)/(1+(-0.6)^2))^2))*(2*(-0.3)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.6)/(1+(-0.6)^2))^2))*(2*(0.0)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.6)/(1+(-0.6)^2))^2))*(2*(0.3)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.6)/(1+(-0.6)^2))^2))*(2*(0.6)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.6)/(1+(-0.6)^2))^2))*(2*(0.9)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.6)/(1+(-0.6)^2))^2))*(2*(1.2)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.6)/(1+(-0.6)^2))^2))*(2*(1.5)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.6)/(1+(-0.6)^2))^2))*(2*(1.8)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.6)/(1+(-0.6)^2))^2))*(2*(2.1)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.6)/(1+(-0.6)^2))^2))*(2*(2.4)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.6)/(1+(-0.6)^2))^2))|-0.6+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.6)/(1+(-0.6)^2))^2))*(2*(2.7)*(-0.6)/(1+(-0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-3.00)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-2.7)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-2.4)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-2.1)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-1.8)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-1.5)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-1.2)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-0.9)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-0.6)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(-0.3)/(1+(-0.3)^2))^2))*(2*(-0.3)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(-0.3)/(1+(-0.3)^2))^2))*(2*(0.0)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(-0.3)/(1+(-0.3)^2))^2))*(2*(0.3)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(-0.3)/(1+(-0.3)^2))^2))*(2*(0.6)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(-0.3)/(1+(-0.3)^2))^2))*(2*(0.9)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(-0.3)/(1+(-0.3)^2))^2))*(2*(1.2)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(-0.3)/(1+(-0.3)^2))^2))*(2*(1.5)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(-0.3)/(1+(-0.3)^2))^2))*(2*(1.8)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(-0.3)/(1+(-0.3)^2))^2))*(2*(2.1)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(-0.3)/(1+(-0.3)^2))^2))*(2*(2.4)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.3)/(1+(-0.3)^2))^2))|-0.3+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(-0.3)/(1+(-0.3)^2))^2))*(2*(2.7)*(-0.3)/(1+(-0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.0)/(1+(0.0)^2))^2))*(2*(-3.00)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.0)/(1+(0.0)^2))^2))*(2*(-2.7)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.0)/(1+(0.0)^2))^2))*(2*(-2.4)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.0)/(1+(0.0)^2))^2))*(2*(-2.1)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.0)/(1+(0.0)^2))^2))*(2*(-1.8)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.0)/(1+(0.0)^2))^2))*(2*(-1.5)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.0)/(1+(0.0)^2))^2))*(2*(-1.2)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.0)/(1+(0.0)^2))^2))*(2*(-0.9)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.0)/(1+(0.0)^2))^2))*(2*(-0.6)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.0)/(1+(0.0)^2))^2))*(2*(-0.3)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.0)/(1+(0.0)^2))^2))*(2*(0.0)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.0)/(1+(0.0)^2))^2))*(2*(0.3)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.0)/(1+(0.0)^2))^2))*(2*(0.6)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.0)/(1+(0.0)^2))^2))*(2*(0.9)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.0)/(1+(0.0)^2))^2))*(2*(1.2)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.0)/(1+(0.0)^2))^2))*(2*(1.5)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.0)/(1+(0.0)^2))^2))*(2*(1.8)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.0)/(1+(0.0)^2))^2))*(2*(2.1)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.0)/(1+(0.0)^2))^2))*(2*(2.4)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.0)/(1+(0.0)^2))^2))|0.0+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.0)/(1+(0.0)^2))^2))*(2*(2.7)*(0.0)/(1+(0.0)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.3)/(1+(0.3)^2))^2))*(2*(-3.00)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.3)/(1+(0.3)^2))^2))*(2*(-2.7)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.3)/(1+(0.3)^2))^2))*(2*(-2.4)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.3)/(1+(0.3)^2))^2))*(2*(-2.1)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.3)/(1+(0.3)^2))^2))*(2*(-1.8)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.3)/(1+(0.3)^2))^2))*(2*(-1.5)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.3)/(1+(0.3)^2))^2))*(2*(-1.2)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.3)/(1+(0.3)^2))^2))*(2*(-0.9)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.3)/(1+(0.3)^2))^2))*(2*(-0.6)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.3)/(1+(0.3)^2))^2))*(2*(-0.3)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.3)/(1+(0.3)^2))^2))*(2*(0.0)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.3)/(1+(0.3)^2))^2))*(2*(0.3)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.3)/(1+(0.3)^2))^2))*(2*(0.6)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.3)/(1+(0.3)^2))^2))*(2*(0.9)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.3)/(1+(0.3)^2))^2))*(2*(1.2)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.3)/(1+(0.3)^2))^2))*(2*(1.5)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.3)/(1+(0.3)^2))^2))*(2*(1.8)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.3)/(1+(0.3)^2))^2))*(2*(2.1)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.3)/(1+(0.3)^2))^2))*(2*(2.4)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.3)/(1+(0.3)^2))^2))|0.3+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.3)/(1+(0.3)^2))^2))*(2*(2.7)*(0.3)/(1+(0.3)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.6)/(1+(0.6)^2))^2))*(2*(-3.00)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.6)/(1+(0.6)^2))^2))*(2*(-2.7)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.6)/(1+(0.6)^2))^2))*(2*(-2.4)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.6)/(1+(0.6)^2))^2))*(2*(-2.1)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.6)/(1+(0.6)^2))^2))*(2*(-1.8)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.6)/(1+(0.6)^2))^2))*(2*(-1.5)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.6)/(1+(0.6)^2))^2))*(2*(-1.2)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.6)/(1+(0.6)^2))^2))*(2*(-0.9)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.6)/(1+(0.6)^2))^2))*(2*(-0.6)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.6)/(1+(0.6)^2))^2))*(2*(-0.3)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.6)/(1+(0.6)^2))^2))*(2*(0.0)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.6)/(1+(0.6)^2))^2))*(2*(0.3)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.6)/(1+(0.6)^2))^2))*(2*(0.6)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.6)/(1+(0.6)^2))^2))*(2*(0.9)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.6)/(1+(0.6)^2))^2))*(2*(1.2)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.6)/(1+(0.6)^2))^2))*(2*(1.5)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.6)/(1+(0.6)^2))^2))*(2*(1.8)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.6)/(1+(0.6)^2))^2))*(2*(2.1)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.6)/(1+(0.6)^2))^2))*(2*(2.4)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.6)/(1+(0.6)^2))^2))|0.6+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.6)/(1+(0.6)^2))^2))*(2*(2.7)*(0.6)/(1+(0.6)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(0.9)/(1+(0.9)^2))^2))*(2*(-3.00)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(0.9)/(1+(0.9)^2))^2))*(2*(-2.7)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(0.9)/(1+(0.9)^2))^2))*(2*(-2.4)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(0.9)/(1+(0.9)^2))^2))*(2*(-2.1)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(0.9)/(1+(0.9)^2))^2))*(2*(-1.8)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(0.9)/(1+(0.9)^2))^2))*(2*(-1.5)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(0.9)/(1+(0.9)^2))^2))*(2*(-1.2)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(0.9)/(1+(0.9)^2))^2))*(2*(-0.9)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(0.9)/(1+(0.9)^2))^2))*(2*(-0.6)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(0.9)/(1+(0.9)^2))^2))*(2*(-0.3)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(0.9)/(1+(0.9)^2))^2))*(2*(0.0)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(0.9)/(1+(0.9)^2))^2))*(2*(0.3)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(0.9)/(1+(0.9)^2))^2))*(2*(0.6)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(0.9)/(1+(0.9)^2))^2))*(2*(0.9)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(0.9)/(1+(0.9)^2))^2))*(2*(1.2)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(0.9)/(1+(0.9)^2))^2))*(2*(1.5)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(0.9)/(1+(0.9)^2))^2))*(2*(1.8)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(0.9)/(1+(0.9)^2))^2))*(2*(2.1)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(0.9)/(1+(0.9)^2))^2))*(2*(2.4)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.9)/(1+(0.9)^2))^2))|0.9+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(0.9)/(1+(0.9)^2))^2))*(2*(2.7)*(0.9)/(1+(0.9)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.2)/(1+(1.2)^2))^2))*(2*(-3.00)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.2)/(1+(1.2)^2))^2))*(2*(-2.7)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.2)/(1+(1.2)^2))^2))*(2*(-2.4)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.2)/(1+(1.2)^2))^2))*(2*(-2.1)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.2)/(1+(1.2)^2))^2))*(2*(-1.8)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.2)/(1+(1.2)^2))^2))*(2*(-1.5)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.2)/(1+(1.2)^2))^2))*(2*(-1.2)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.2)/(1+(1.2)^2))^2))*(2*(-0.9)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.2)/(1+(1.2)^2))^2))*(2*(-0.6)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.2)/(1+(1.2)^2))^2))*(2*(-0.3)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.2)/(1+(1.2)^2))^2))*(2*(0.0)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.2)/(1+(1.2)^2))^2))*(2*(0.3)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.2)/(1+(1.2)^2))^2))*(2*(0.6)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.2)/(1+(1.2)^2))^2))*(2*(0.9)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.2)/(1+(1.2)^2))^2))*(2*(1.2)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.2)/(1+(1.2)^2))^2))*(2*(1.5)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.2)/(1+(1.2)^2))^2))*(2*(1.8)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.2)/(1+(1.2)^2))^2))*(2*(2.1)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.2)/(1+(1.2)^2))^2))*(2*(2.4)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.2)/(1+(1.2)^2))^2))|1.2+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.2)/(1+(1.2)^2))^2))*(2*(2.7)*(1.2)/(1+(1.2)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.5)/(1+(1.5)^2))^2))*(2*(-3.00)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.5)/(1+(1.5)^2))^2))*(2*(-2.7)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.5)/(1+(1.5)^2))^2))*(2*(-2.4)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.5)/(1+(1.5)^2))^2))*(2*(-2.1)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.5)/(1+(1.5)^2))^2))*(2*(-1.8)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.5)/(1+(1.5)^2))^2))*(2*(-1.5)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.5)/(1+(1.5)^2))^2))*(2*(-1.2)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.5)/(1+(1.5)^2))^2))*(2*(-0.9)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.5)/(1+(1.5)^2))^2))*(2*(-0.6)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.5)/(1+(1.5)^2))^2))*(2*(-0.3)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.5)/(1+(1.5)^2))^2))*(2*(0.0)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.5)/(1+(1.5)^2))^2))*(2*(0.3)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.5)/(1+(1.5)^2))^2))*(2*(0.6)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.5)/(1+(1.5)^2))^2))*(2*(0.9)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.5)/(1+(1.5)^2))^2))*(2*(1.2)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.5)/(1+(1.5)^2))^2))*(2*(1.5)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.5)/(1+(1.5)^2))^2))*(2*(1.8)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.5)/(1+(1.5)^2))^2))*(2*(2.1)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.5)/(1+(1.5)^2))^2))*(2*(2.4)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.5)/(1+(1.5)^2))^2))|1.5+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.5)/(1+(1.5)^2))^2))*(2*(2.7)*(1.5)/(1+(1.5)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(1.8)/(1+(1.8)^2))^2))*(2*(-3.00)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(1.8)/(1+(1.8)^2))^2))*(2*(-2.7)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(1.8)/(1+(1.8)^2))^2))*(2*(-2.4)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(1.8)/(1+(1.8)^2))^2))*(2*(-2.1)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(1.8)/(1+(1.8)^2))^2))*(2*(-1.8)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(1.8)/(1+(1.8)^2))^2))*(2*(-1.5)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(1.8)/(1+(1.8)^2))^2))*(2*(-1.2)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(1.8)/(1+(1.8)^2))^2))*(2*(-0.9)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(1.8)/(1+(1.8)^2))^2))*(2*(-0.6)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(1.8)/(1+(1.8)^2))^2))*(2*(-0.3)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(1.8)/(1+(1.8)^2))^2))*(2*(0.0)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(1.8)/(1+(1.8)^2))^2))*(2*(0.3)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(1.8)/(1+(1.8)^2))^2))*(2*(0.6)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(1.8)/(1+(1.8)^2))^2))*(2*(0.9)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(1.8)/(1+(1.8)^2))^2))*(2*(1.2)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(1.8)/(1+(1.8)^2))^2))*(2*(1.5)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(1.8)/(1+(1.8)^2))^2))*(2*(1.8)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(1.8)/(1+(1.8)^2))^2))*(2*(2.1)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(1.8)/(1+(1.8)^2))^2))*(2*(2.4)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.8)/(1+(1.8)^2))^2))|1.8+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(1.8)/(1+(1.8)^2))^2))*(2*(2.7)*(1.8)/(1+(1.8)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.1)/(1+(2.1)^2))^2))*(2*(-3.00)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.1)/(1+(2.1)^2))^2))*(2*(-2.7)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.1)/(1+(2.1)^2))^2))*(2*(-2.4)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.1)/(1+(2.1)^2))^2))*(2*(-2.1)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.1)/(1+(2.1)^2))^2))*(2*(-1.8)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.1)/(1+(2.1)^2))^2))*(2*(-1.5)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.1)/(1+(2.1)^2))^2))*(2*(-1.2)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.1)/(1+(2.1)^2))^2))*(2*(-0.9)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.1)/(1+(2.1)^2))^2))*(2*(-0.6)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.1)/(1+(2.1)^2))^2))*(2*(-0.3)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.1)/(1+(2.1)^2))^2))*(2*(0.0)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.1)/(1+(2.1)^2))^2))*(2*(0.3)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.1)/(1+(2.1)^2))^2))*(2*(0.6)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.1)/(1+(2.1)^2))^2))*(2*(0.9)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.1)/(1+(2.1)^2))^2))*(2*(1.2)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.1)/(1+(2.1)^2))^2))*(2*(1.5)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.1)/(1+(2.1)^2))^2))*(2*(1.8)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.1)/(1+(2.1)^2))^2))*(2*(2.1)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.1)/(1+(2.1)^2))^2))*(2*(2.4)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.1)/(1+(2.1)^2))^2))|2.1+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.1)/(1+(2.1)^2))^2))*(2*(2.7)*(2.1)/(1+(2.1)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.4)/(1+(2.4)^2))^2))*(2*(-3.00)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.4)/(1+(2.4)^2))^2))*(2*(-2.7)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.4)/(1+(2.4)^2))^2))*(2*(-2.4)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.4)/(1+(2.4)^2))^2))*(2*(-2.1)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.4)/(1+(2.4)^2))^2))*(2*(-1.8)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.4)/(1+(2.4)^2))^2))*(2*(-1.5)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.4)/(1+(2.4)^2))^2))*(2*(-1.2)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.4)/(1+(2.4)^2))^2))*(2*(-0.9)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.4)/(1+(2.4)^2))^2))*(2*(-0.6)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.4)/(1+(2.4)^2))^2))*(2*(-0.3)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.4)/(1+(2.4)^2))^2))*(2*(0.0)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.4)/(1+(2.4)^2))^2))*(2*(0.3)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.4)/(1+(2.4)^2))^2))*(2*(0.6)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.4)/(1+(2.4)^2))^2))*(2*(0.9)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.4)/(1+(2.4)^2))^2))*(2*(1.2)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.4)/(1+(2.4)^2))^2))*(2*(1.5)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.4)/(1+(2.4)^2))^2))*(2*(1.8)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.4)/(1+(2.4)^2))^2))*(2*(2.1)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.4)/(1+(2.4)^2))^2))*(2*(2.4)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.4)/(1+(2.4)^2))^2))|2.4+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.4)/(1+(2.4)^2))^2))*(2*(2.7)*(2.4)/(1+(2.4)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-3.00)*(2.7)/(1+(2.7)^2))^2))*(2*(-3.00)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.7)*(2.7)/(1+(2.7)^2))^2))*(2*(-2.7)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.4+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.4)*(2.7)/(1+(2.7)^2))^2))*(2*(-2.4)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.1+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-2.1)*(2.7)/(1+(2.7)^2))^2))*(2*(-2.1)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.8)*(2.7)/(1+(2.7)^2))^2))*(2*(-1.8)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.5+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.5)*(2.7)/(1+(2.7)^2))^2))*(2*(-1.5)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.2+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-1.2)*(2.7)/(1+(2.7)^2))^2))*(2*(-1.2)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.9+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.9)*(2.7)/(1+(2.7)^2))^2))*(2*(-0.9)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.6)*(2.7)/(1+(2.7)^2))^2))*(2*(-0.6)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.3+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(-0.3)*(2.7)/(1+(2.7)^2))^2))*(2*(-0.3)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.0+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(0.0)*(2.7)/(1+(2.7)^2))^2))*(2*(0.0)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.3+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(0.3)*(2.7)/(1+(2.7)^2))^2))*(2*(0.3)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(0.6)*(2.7)/(1+(2.7)^2))^2))*(2*(0.6)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.9+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(0.9)*(2.7)/(1+(2.7)^2))^2))*(2*(0.9)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.2+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(1.2)*(2.7)/(1+(2.7)^2))^2))*(2*(1.2)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.5+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(1.5)*(2.7)/(1+(2.7)^2))^2))*(2*(1.5)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(1.8)*(2.7)/(1+(2.7)^2))^2))*(2*(1.8)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.1+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(2.1)*(2.7)/(1+(2.7)^2))^2))*(2*(2.1)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.4+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(2.4)*(2.7)/(1+(2.7)^2))^2))*(2*(2.4)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.7)/(1+(2.7)^2))^2))|2.7+((0.3)*t)*(1/sqrt(1+(2*(2.7)*(2.7)/(1+(2.7)^2))^2))*(2*(2.7)*(2.7)/(1+(2.7)^2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 88.35017 0 -85.5 0 ArrowA CP 4 2 roll ArrowB +2 copy /yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap +stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false +and exch 2 lt true and or { /viceversa -85.5 88.35017 gt { true }{ +false } ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline +85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 +setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def +logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT +dx log mul add def x abs MaxValue abs le { false { x minTickline moveto +x maxTickline lineto } { x tickstart STsize mul moveto x tickend +STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke +grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick +cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le +{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline +STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave false { cntTick minTickline moveto cntTick +maxTickline lineto } { cntTick tickstart moveto cntTick tickend +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline moveto x maxTickline lineto } { x tickstart STsize +mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT +0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt +{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave cntTick tickstart moveto cntTick tickend +lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def +} ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy +/yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap stroke + stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and +exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false +} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline +88.35017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 + setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch +def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick +dT dx log mul add def x abs MaxValue abs le { false { x minTickline +exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch +moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth +SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs +0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch +moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick +tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch +lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def +} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin +{ gsave false { cntTick minTickline exch moveto cntTick maxTickline +exch lineto } { cntTick tickstart exch moveto cntTick tickend exch +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart +STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } +if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore +} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 +sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize +mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } +ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW +subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart +exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke +grestore }{ /showOrigin true def } ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 930 685 a Fb(1)930 449 y(2)875 +1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 +y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p +Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray +0 TeXcolorgray eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb3.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb3.eps new file mode 100644 index 00000000000..24e715c0304 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb3.eps @@ -0,0 +1,14969 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: testps-fig1.dvi +%%CreationDate: Tue Apr 01 22:23:18 2014 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 100 516 281 698 +%%DocumentFonts: CMR8 CMSY8 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: DVIPS.EXE testps-fig1 +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2014.04.01:2223 +%%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 +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}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 755 2013-03-09 08:48:58Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.15, 2012/10/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. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/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 594 2011-10-31 18:13:18Z 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->EE +%% 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 +/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 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt +%% +%% 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ß +% 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 +%% +%% 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: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.0: CMSY8 003.002 +%%Title: CMSY8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup +/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY8 def +/FontBBox {-30 -955 1185 779 }readonly def +/UniqueID 5096649 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 +0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 +14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 +7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 +2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 +DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 +209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 +2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 +B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 +24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 +65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 +88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD +CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 +B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 +B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED +516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 +11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 +44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF +E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F +67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F +81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 +26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 +2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 +90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 +609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE +E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 +48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 +8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 +8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 +AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD +1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 +56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 +1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 +3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 +46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 +38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 +6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C +BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 +40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 +023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A +579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 +5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 +31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 +F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 +D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 +285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 +FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A +D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 +4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C +1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC +82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E +08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 +B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD +72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 +E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 +198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 +C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 +EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B +B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 +304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 +FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E +02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 +130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 +F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D +07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 +ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 +24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C +1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED +55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 +546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF +22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 +5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D +6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 +248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 +E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 +E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 +F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 +CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD +15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC +3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 +1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A +A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 +8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 +7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 +DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E +9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 +83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 +307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 +39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 +805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D +6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 +3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C +08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 +A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 +866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 +C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 +75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B +893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD +CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 +491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D +8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A +3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 +B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 +64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B +167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 +E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B +A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 +D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF +0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D +C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D +628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD +C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 +5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 +302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 +2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 +9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 +491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 +5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 +35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC +1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 +3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 +7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 +3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 +B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D +289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 +EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 +DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 +BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C +42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B +9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 +A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA +9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 +5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 +67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A +3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 +36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 +9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 +89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 +63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 +7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 +72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 +C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 +BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 +AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B +D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 +B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C +5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 +93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 +C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 +4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA +058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D +74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 +A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 +42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 +516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 +2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 +A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 +2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F +46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 +EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 +9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B +3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 +6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 +E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 +B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 +89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A +1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A +310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 +33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 +1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 +BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 +06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C +2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 +CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 +80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 +577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 +F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 +B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 +95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD +8E24F52934 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 51 /three put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 +5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 +B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 +9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 +0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 +8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 +6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC +78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 +368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB +7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED +6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE +91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B +DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 +6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F +AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA +3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D +5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E +F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 +D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 +7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 +6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A +0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE +63150A652A07E2AD6080FFA6DC62C23A735C8A062333 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) +@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 +35 49[{}3 66.4176 /CMR8 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 165 192 a + /pssetRGBcolor /setrgbcolor load def /pssetCMYKcolor /setcmykcolor +load def /pssetGraycolor /setgray load def + +165 192 a 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 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-3.00))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-3.00))^2))*((-3.00)-(-3.00)) +) AlgParser cvx def end + 998 +901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-3.00)-(-2.6))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-2.6))^2))*((-3.00)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-3.00)-(-2.2))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-2.2))^2))*((-3.00)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.8))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.8))^2))*((-3.00)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.4))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.4))^2))*((-3.00)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.0))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-1.0))^2))*((-3.00)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-3.00)-(-0.6))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-0.6))^2))*((-3.00)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-3.00)-(-0.2))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(-0.2))^2))*((-3.00)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-3.00)-(0.2))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(0.2))^2))*((-3.00)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-3.00)-(0.6))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(0.6))^2))*((-3.00)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.0))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.0))^2))*((-3.00)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.4))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.4))^2))*((-3.00)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.8))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(1.8))^2))*((-3.00)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-3.00)-(2.2))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(2.2))^2))*((-3.00)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-3.00)-(2.6))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)-(2.6))^2))*((-3.00)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-2.6)-(-3.00))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-3.00))^2))*((-2.6)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-2.6))^2))*((-2.6)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.6)-(-2.2))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-2.2))^2))*((-2.6)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.8))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.8))^2))*((-2.6)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.4))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.4))^2))*((-2.6)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.0))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-1.0))^2))*((-2.6)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-0.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-0.6))^2))*((-2.6)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-2.6)-(-0.2))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(-0.2))^2))*((-2.6)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-2.6)-(0.2))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(0.2))^2))*((-2.6)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(0.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(0.6))^2))*((-2.6)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.0))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.0))^2))*((-2.6)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.4))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.4))^2))*((-2.6)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.8))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(1.8))^2))*((-2.6)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-2.6)-(2.2))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(2.2))^2))*((-2.6)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(2.6))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)-(2.6))^2))*((-2.6)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-2.2)-(-3.00))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-3.00))^2))*((-2.2)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.2)-(-2.6))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-2.6))^2))*((-2.2)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-2.2))^2))*((-2.2)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.8))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.8))^2))*((-2.2)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.4))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.4))^2))*((-2.2)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.0))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-1.0))^2))*((-2.2)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-2.2)-(-0.6))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-0.6))^2))*((-2.2)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-0.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(-0.2))^2))*((-2.2)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(0.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(0.2))^2))*((-2.2)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-2.2)-(0.6))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(0.6))^2))*((-2.2)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.0))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.0))^2))*((-2.2)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.4))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.4))^2))*((-2.2)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.8))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(1.8))^2))*((-2.2)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(2.2))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(2.2))^2))*((-2.2)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-2.2)-(2.6))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)-(2.6))^2))*((-2.2)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-1.8)-(-3.00))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-3.00))^2))*((-1.8)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-1.8)-(-2.6))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-2.6))^2))*((-1.8)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-1.8)-(-2.2))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-2.2))^2))*((-1.8)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.8))^2))*((-1.8)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.4))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.4))^2))*((-1.8)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.0))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-1.0))^2))*((-1.8)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-1.8)-(-0.6))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-0.6))^2))*((-1.8)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-1.8)-(-0.2))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(-0.2))^2))*((-1.8)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-1.8)-(0.2))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(0.2))^2))*((-1.8)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-1.8)-(0.6))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(0.6))^2))*((-1.8)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.0))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.0))^2))*((-1.8)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.4))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.4))^2))*((-1.8)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.8))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(1.8))^2))*((-1.8)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-1.8)-(2.2))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(2.2))^2))*((-1.8)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-1.8)-(2.6))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)-(2.6))^2))*((-1.8)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-1.4)-(-3.00))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-3.00))^2))*((-1.4)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-1.4)-(-2.6))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-2.6))^2))*((-1.4)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-1.4)-(-2.2))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-2.2))^2))*((-1.4)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.8))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.8))^2))*((-1.4)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.4))^2))*((-1.4)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.0))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-1.0))^2))*((-1.4)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-1.4)-(-0.6))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-0.6))^2))*((-1.4)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-1.4)-(-0.2))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(-0.2))^2))*((-1.4)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-1.4)-(0.2))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(0.2))^2))*((-1.4)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-1.4)-(0.6))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(0.6))^2))*((-1.4)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.0))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.0))^2))*((-1.4)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.4))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.4))^2))*((-1.4)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.8))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(1.8))^2))*((-1.4)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-1.4)-(2.2))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(2.2))^2))*((-1.4)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-1.4)-(2.6))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)-(2.6))^2))*((-1.4)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-1.0)-(-3.00))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-3.00))^2))*((-1.0)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-1.0)-(-2.6))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-2.6))^2))*((-1.0)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-1.0)-(-2.2))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-2.2))^2))*((-1.0)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.8))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.8))^2))*((-1.0)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.4))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.4))^2))*((-1.0)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-1.0))^2))*((-1.0)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-1.0)-(-0.6))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-0.6))^2))*((-1.0)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-1.0)-(-0.2))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(-0.2))^2))*((-1.0)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-1.0)-(0.2))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(0.2))^2))*((-1.0)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-1.0)-(0.6))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(0.6))^2))*((-1.0)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.0))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.0))^2))*((-1.0)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.4))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.4))^2))*((-1.0)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.8))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(1.8))^2))*((-1.0)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-1.0)-(2.2))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(2.2))^2))*((-1.0)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-1.0)-(2.6))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)-(2.6))^2))*((-1.0)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-0.6)-(-3.00))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-3.00))^2))*((-0.6)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-2.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-2.6))^2))*((-0.6)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-0.6)-(-2.2))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-2.2))^2))*((-0.6)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.8))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.8))^2))*((-0.6)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.4))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.4))^2))*((-0.6)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.0))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-1.0))^2))*((-0.6)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-0.6))^2))*((-0.6)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.6)-(-0.2))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(-0.2))^2))*((-0.6)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-0.6)-(0.2))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(0.2))^2))*((-0.6)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(0.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(0.6))^2))*((-0.6)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.0))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.0))^2))*((-0.6)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.4))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.4))^2))*((-0.6)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.8))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(1.8))^2))*((-0.6)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-0.6)-(2.2))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(2.2))^2))*((-0.6)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(2.6))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)-(2.6))^2))*((-0.6)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-0.2)-(-3.00))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-3.00))^2))*((-0.2)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-0.2)-(-2.6))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-2.6))^2))*((-0.2)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-2.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-2.2))^2))*((-0.2)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.8))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.8))^2))*((-0.2)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.4))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.4))^2))*((-0.2)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.0))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-1.0))^2))*((-0.2)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.2)-(-0.6))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-0.6))^2))*((-0.2)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(-0.2))^2))*((-0.2)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(0.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(0.2))^2))*((-0.2)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((-0.2)-(0.6))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(0.6))^2))*((-0.2)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.0))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.0))^2))*((-0.2)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.4))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.4))^2))*((-0.2)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.8))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(1.8))^2))*((-0.2)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(2.2))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(2.2))^2))*((-0.2)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((-0.2)-(2.6))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)-(2.6))^2))*((-0.2)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((0.2)-(-3.00))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-3.00))^2))*((0.2)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((0.2)-(-2.6))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-2.6))^2))*((0.2)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-2.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-2.2))^2))*((0.2)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.8))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.8))^2))*((0.2)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.4))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.4))^2))*((0.2)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.0))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-1.0))^2))*((0.2)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((0.2)-(-0.6))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-0.6))^2))*((0.2)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(-0.2))^2))*((0.2)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(0.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(0.2))^2))*((0.2)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.2)-(0.6))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(0.6))^2))*((0.2)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((0.2)-(1.0))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(1.0))^2))*((0.2)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((0.2)-(1.4))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(1.4))^2))*((0.2)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((0.2)-(1.8))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(1.8))^2))*((0.2)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((0.2)-(2.2))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(2.2))^2))*((0.2)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((0.2)-(2.6))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)-(2.6))^2))*((0.2)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((0.6)-(-3.00))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-3.00))^2))*((0.6)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-2.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-2.6))^2))*((0.6)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((0.6)-(-2.2))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-2.2))^2))*((0.6)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.8))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.8))^2))*((0.6)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.4))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.4))^2))*((0.6)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.0))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-1.0))^2))*((0.6)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-0.6))^2))*((0.6)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((0.6)-(-0.2))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(-0.2))^2))*((0.6)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.6)-(0.2))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(0.2))^2))*((0.6)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(0.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(0.6))^2))*((0.6)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((0.6)-(1.0))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(1.0))^2))*((0.6)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((0.6)-(1.4))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(1.4))^2))*((0.6)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((0.6)-(1.8))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(1.8))^2))*((0.6)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((0.6)-(2.2))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(2.2))^2))*((0.6)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((0.6)-(2.6))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)-(2.6))^2))*((0.6)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((1.0)-(-3.00))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-3.00))^2))*((1.0)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((1.0)-(-2.6))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-2.6))^2))*((1.0)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((1.0)-(-2.2))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-2.2))^2))*((1.0)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.8))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.8))^2))*((1.0)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.4))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.4))^2))*((1.0)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-1.0))^2))*((1.0)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((1.0)-(-0.6))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-0.6))^2))*((1.0)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((1.0)-(-0.2))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(-0.2))^2))*((1.0)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((1.0)-(0.2))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(0.2))^2))*((1.0)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((1.0)-(0.6))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(0.6))^2))*((1.0)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(1.0))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(1.0))^2))*((1.0)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.0)-(1.4))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(1.4))^2))*((1.0)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.0)-(1.8))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(1.8))^2))*((1.0)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((1.0)-(2.2))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(2.2))^2))*((1.0)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((1.0)-(2.6))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)-(2.6))^2))*((1.0)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((1.4)-(-3.00))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-3.00))^2))*((1.4)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((1.4)-(-2.6))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-2.6))^2))*((1.4)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((1.4)-(-2.2))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-2.2))^2))*((1.4)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.8))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.8))^2))*((1.4)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.4))^2))*((1.4)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.0))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-1.0))^2))*((1.4)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((1.4)-(-0.6))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-0.6))^2))*((1.4)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((1.4)-(-0.2))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(-0.2))^2))*((1.4)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((1.4)-(0.2))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(0.2))^2))*((1.4)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((1.4)-(0.6))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(0.6))^2))*((1.4)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.4)-(1.0))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(1.0))^2))*((1.4)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(1.4))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(1.4))^2))*((1.4)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.4)-(1.8))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(1.8))^2))*((1.4)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((1.4)-(2.2))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(2.2))^2))*((1.4)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((1.4)-(2.6))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)-(2.6))^2))*((1.4)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((1.8)-(-3.00))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-3.00))^2))*((1.8)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((1.8)-(-2.6))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-2.6))^2))*((1.8)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((1.8)-(-2.2))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-2.2))^2))*((1.8)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.8))^2))*((1.8)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.4))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.4))^2))*((1.8)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.0))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-1.0))^2))*((1.8)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((1.8)-(-0.6))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-0.6))^2))*((1.8)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((1.8)-(-0.2))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(-0.2))^2))*((1.8)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((1.8)-(0.2))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(0.2))^2))*((1.8)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((1.8)-(0.6))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(0.6))^2))*((1.8)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.8)-(1.0))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(1.0))^2))*((1.8)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.8)-(1.4))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(1.4))^2))*((1.8)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(1.8))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(1.8))^2))*((1.8)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((1.8)-(2.2))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(2.2))^2))*((1.8)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((1.8)-(2.6))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)-(2.6))^2))*((1.8)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((2.2)-(-3.00))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-3.00))^2))*((2.2)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((2.2)-(-2.6))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-2.6))^2))*((2.2)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-2.2))^2))*((2.2)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.8))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.8))^2))*((2.2)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.4))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.4))^2))*((2.2)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.0))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-1.0))^2))*((2.2)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((2.2)-(-0.6))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-0.6))^2))*((2.2)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-0.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(-0.2))^2))*((2.2)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((2.2)-(0.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(0.2))^2))*((2.2)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((2.2)-(0.6))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(0.6))^2))*((2.2)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((2.2)-(1.0))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(1.0))^2))*((2.2)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((2.2)-(1.4))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(1.4))^2))*((2.2)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((2.2)-(1.8))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(1.8))^2))*((2.2)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(2.2))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(2.2))^2))*((2.2)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.2)-(2.6))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)-(2.6))^2))*((2.2)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((2.6)-(-3.00))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-3.00))^2))*((2.6)-(-3.00)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-2.6))^2))*((2.6)-(-2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((2.6)-(-2.2))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-2.2))^2))*((2.6)-(-2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.8))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.8))^2))*((2.6)-(-1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.4))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.4))^2))*((2.6)-(-1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.0))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-1.0))^2))*((2.6)-(-1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-0.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-0.6))^2))*((2.6)-(-0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((2.6)-(-0.2))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(-0.2))^2))*((2.6)-(-0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((2.6)-(0.2))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(0.2))^2))*((2.6)-(0.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((2.6)-(0.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(0.6))^2))*((2.6)-(0.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((2.6)-(1.0))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(1.0))^2))*((2.6)-(1.0)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((2.6)-(1.4))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(1.4))^2))*((2.6)-(1.4)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((2.6)-(1.8))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(1.8))^2))*((2.6)-(1.8)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.6)-(2.2))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(2.2))^2))*((2.6)-(2.2)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(2.6))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)-(2.6))^2))*((2.6)-(2.6)) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 88.35017 0 -85.5 0 ArrowA CP 4 2 roll ArrowB +2 copy /yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap +stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false +and exch 2 lt true and or { /viceversa -85.5 88.35017 gt { true }{ +false } ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline +85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 +setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def +logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT +dx log mul add def x abs MaxValue abs le { false { x minTickline moveto +x maxTickline lineto } { x tickstart STsize mul moveto x tickend +STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke +grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick +cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le +{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline +STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave false { cntTick minTickline moveto cntTick +maxTickline lineto } { cntTick tickstart moveto cntTick tickend +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline moveto x maxTickline lineto } { x tickstart STsize +mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT +0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt +{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave cntTick tickstart moveto cntTick tickend +lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def +} ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy +/yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap stroke + stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and +exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false +} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline +88.35017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 + setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch +def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick +dT dx log mul add def x abs MaxValue abs le { false { x minTickline +exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch +moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth +SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs +0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch +moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick +tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch +lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def +} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin +{ gsave false { cntTick minTickline exch moveto cntTick maxTickline +exch lineto } { cntTick tickstart exch moveto cntTick tickend exch +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart +STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } +if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore +} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 +sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize +mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } +ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW +subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart +exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke +grestore }{ /showOrigin true def } ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 930 685 a Fb(1)930 449 y(2)875 +1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 +y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p +Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray +0 TeXcolorgray eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb4.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb4.eps new file mode 100644 index 00000000000..8dc5ea21573 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb4.eps @@ -0,0 +1,14951 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: testps-fig1.dvi +%%CreationDate: Tue Apr 01 22:30:39 2014 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 100 516 281 698 +%%DocumentFonts: CMR8 CMSY8 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: DVIPS.EXE testps-fig1 +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2014.04.01:2230 +%%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 +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}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 755 2013-03-09 08:48:58Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.15, 2012/10/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. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/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 594 2011-10-31 18:13:18Z 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->EE +%% 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 +/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 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt +%% +%% 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ß +% 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 +%% +%% 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: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.0: CMSY8 003.002 +%%Title: CMSY8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup +/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY8 def +/FontBBox {-30 -955 1185 779 }readonly def +/UniqueID 5096649 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 +0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 +14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 +7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 +2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 +DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 +209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 +2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 +B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 +24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 +65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 +88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD +CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 +B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 +B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED +516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 +11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 +44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF +E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F +67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F +81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 +26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 +2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 +90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 +609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE +E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 +48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 +8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 +8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 +AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD +1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 +56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 +1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 +3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 +46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 +38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 +6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C +BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 +40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 +023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A +579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 +5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 +31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 +F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 +D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 +285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 +FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A +D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 +4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C +1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC +82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E +08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 +B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD +72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 +E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 +198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 +C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 +EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B +B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 +304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 +FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E +02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 +130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 +F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D +07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 +ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 +24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C +1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED +55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 +546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF +22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 +5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D +6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 +248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 +E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 +E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 +F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 +CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD +15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC +3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 +1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A +A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 +8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 +7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 +DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E +9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 +83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 +307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 +39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 +805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D +6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 +3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C +08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 +A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 +866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 +C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 +75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B +893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD +CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 +491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D +8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A +3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 +B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 +64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B +167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 +E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B +A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 +D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF +0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D +C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D +628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD +C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 +5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 +302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 +2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 +9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 +491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 +5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 +35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC +1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 +3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 +7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 +3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 +B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D +289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 +EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 +DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 +BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C +42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B +9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 +A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA +9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 +5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 +67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A +3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 +36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 +9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 +89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 +63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 +7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 +72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 +C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 +BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 +AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B +D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 +B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C +5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 +93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 +C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 +4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA +058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D +74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 +A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 +42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 +516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 +2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 +A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 +2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F +46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 +EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 +9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B +3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 +6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 +E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 +B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 +89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A +1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A +310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 +33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 +1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 +BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 +06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C +2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 +CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 +80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 +577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 +F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 +B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 +95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD +8E24F52934 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +dup 51 /three put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 +5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 +B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 +9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 +0826E1D9B057F51ACE6BBADF67DC4C0A0F1AE1F8606EE140FB1B2D8843522362 +8762E804EDDD847E3201FE5EE8F0F34C37204F4DE795965835323E85D72C6A00 +6B418B96DF758C100BEE554C2C53BF9861DCBD735247E87F40C2D96DCB3F97DC +78AB912C76BB1ABD750EAB84C7E590434595E235D4EF39D5872B805C1CEA7EB3 +368369B2A98529FB880AEF644E86FBE499DDA7E80AA55CFEA7C6A502ED7E13FB +7D049A71620785E5AD72BC0AE82A34E8B0235367EE050E970A3427942DBF20ED +6CA129B742049747F6A1129B659D6D185D7564168997033FEB96B9F11BA70EFE +91344967B451D0993BACFA317E43570B74B1193F270CE537242023DA14E0869B +DA1A295320574295ACF03E3E3C78D9D6518A4AD6BE618098465A83AC02B3BC30 +6B8713E7F719A11991C9E1BF0CEEB87F341617EDF0EC79A0BB8B3037D15F349F +AD7A12A478AD24CAEA5B99DCC6C268BED3EF9533A847D6F72E2CF185C932D3BA +3C3AC4BCBCBF368DD80C4481B2C9DBA841D6A91AC3C5A05B6B0630F7A781596D +5BB0AE9B08658E12B5FF633460151828603B33FC29DDCBB7761C63212BEC7B7E +F617E6BF5F9433960D5804493CCC8472D5D4FF8BF4A18EF139B94111862A1776 +D2B9446F3ACE38D8E67DCD7E8C3B4A0F5421678A1F314ECEF28D9B226674AAC3 +7D60C4456EAF8ED946043C052F9BE1605ED2ABF485B4E9C20B727A23833B38E1 +6E15F9FBAE784AA82CE9DC5771F38C34267037779F5B417137A8A2B4EEA4C32A +0C8F604193E4EFA21FE22A450C3EB165E9F5DECF4319C7AEB33F912F149FDEFE +63150A652A07E2AD6080FFA6DC62C23A735C8A062333 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) +@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 204[35 35 +35 49[{}3 66.4176 /CMR8 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 165 192 a + /pssetRGBcolor /setrgbcolor load def /pssetCMYKcolor /setcmykcolor +load def /pssetGraycolor /setgray load def + +165 192 a 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 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-3.00)))^2))*((-3.00)*(2-(-3.00))) +) AlgParser cvx def end + 998 +901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-3.00)))^2))*((-2.6)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-3.00)))^2))*((-2.2)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-3.00)))^2))*((-1.8)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-3.00)))^2))*((-1.4)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-3.00)))^2))*((-1.0)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-3.00)))^2))*((-0.6)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-3.00)))^2))*((-0.2)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-3.00)))^2))*((0.2)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-3.00)))^2))*((0.6)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-3.00)))^2))*((1.0)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-3.00)))^2))*((1.4)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-3.00)))^2))*((1.8)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-3.00)))^2))*((2.2)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-3.00)))^2))|-3.00+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-3.00)))^2))*((2.6)*(2-(-3.00))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-2.6)))^2))*((-3.00)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-2.6)))^2))*((-2.6)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-2.6)))^2))*((-2.2)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-2.6)))^2))*((-1.8)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-2.6)))^2))*((-1.4)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-2.6)))^2))*((-1.0)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-2.6)))^2))*((-0.6)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-2.6)))^2))*((-0.2)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-2.6)))^2))*((0.2)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-2.6)))^2))*((0.6)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-2.6)))^2))*((1.0)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-2.6)))^2))*((1.4)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-2.6)))^2))*((1.8)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-2.6)))^2))*((2.2)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-2.6)))^2))|-2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-2.6)))^2))*((2.6)*(2-(-2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-2.2)))^2))*((-3.00)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-2.2)))^2))*((-2.6)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-2.2)))^2))*((-2.2)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-2.2)))^2))*((-1.8)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-2.2)))^2))*((-1.4)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-2.2)))^2))*((-1.0)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-2.2)))^2))*((-0.6)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-2.2)))^2))*((-0.2)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-2.2)))^2))*((0.2)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-2.2)))^2))*((0.6)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-2.2)))^2))*((1.0)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-2.2)))^2))*((1.4)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-2.2)))^2))*((1.8)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-2.2)))^2))*((2.2)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-2.2)))^2))|-2.2+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-2.2)))^2))*((2.6)*(2-(-2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.8)))^2))*((-3.00)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.8)))^2))*((-2.6)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.8)))^2))*((-2.2)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.8)))^2))*((-1.8)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.8)))^2))*((-1.4)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.8)))^2))*((-1.0)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.8)))^2))*((-0.6)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.8)))^2))*((-0.2)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.8)))^2))*((0.2)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.8)))^2))*((0.6)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.8)))^2))*((1.0)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.8)))^2))*((1.4)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.8)))^2))*((1.8)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.8)))^2))*((2.2)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.8)))^2))|-1.8+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.8)))^2))*((2.6)*(2-(-1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.4)))^2))*((-3.00)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.4)))^2))*((-2.6)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.4)))^2))*((-2.2)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.4)))^2))*((-1.8)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.4)))^2))*((-1.4)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.4)))^2))*((-1.0)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.4)))^2))*((-0.6)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.4)))^2))*((-0.2)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.4)))^2))*((0.2)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.4)))^2))*((0.6)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.4)))^2))*((1.0)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.4)))^2))*((1.4)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.4)))^2))*((1.8)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.4)))^2))*((2.2)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.4)))^2))|-1.4+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.4)))^2))*((2.6)*(2-(-1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-1.0)))^2))*((-3.00)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-1.0)))^2))*((-2.6)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-1.0)))^2))*((-2.2)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-1.0)))^2))*((-1.8)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-1.0)))^2))*((-1.4)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-1.0)))^2))*((-1.0)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-1.0)))^2))*((-0.6)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-1.0)))^2))*((-0.2)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-1.0)))^2))*((0.2)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-1.0)))^2))*((0.6)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-1.0)))^2))*((1.0)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-1.0)))^2))*((1.4)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-1.0)))^2))*((1.8)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-1.0)))^2))*((2.2)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.0)))^2))|-1.0+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-1.0)))^2))*((2.6)*(2-(-1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-0.6)))^2))*((-3.00)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-0.6)))^2))*((-2.6)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-0.6)))^2))*((-2.2)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-0.6)))^2))*((-1.8)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-0.6)))^2))*((-1.4)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-0.6)))^2))*((-1.0)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-0.6)))^2))*((-0.6)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-0.6)))^2))*((-0.2)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-0.6)))^2))*((0.2)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-0.6)))^2))*((0.6)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-0.6)))^2))*((1.0)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-0.6)))^2))*((1.4)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-0.6)))^2))*((1.8)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-0.6)))^2))*((2.2)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-0.6)))^2))|-0.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-0.6)))^2))*((2.6)*(2-(-0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(-0.2)))^2))*((-3.00)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(-0.2)))^2))*((-2.6)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(-0.2)))^2))*((-2.2)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(-0.2)))^2))*((-1.8)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(-0.2)))^2))*((-1.4)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(-0.2)))^2))*((-1.0)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(-0.2)))^2))*((-0.6)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(-0.2)))^2))*((-0.2)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(-0.2)))^2))*((0.2)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(-0.2)))^2))*((0.6)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(-0.2)))^2))*((1.0)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(-0.2)))^2))*((1.4)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(-0.2)))^2))*((1.8)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(-0.2)))^2))*((2.2)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-0.2)))^2))|-0.2+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(-0.2)))^2))*((2.6)*(2-(-0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(0.2)))^2))*((-3.00)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(0.2)))^2))*((-2.6)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(0.2)))^2))*((-2.2)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(0.2)))^2))*((-1.8)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(0.2)))^2))*((-1.4)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(0.2)))^2))*((-1.0)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(0.2)))^2))*((-0.6)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(0.2)))^2))*((-0.2)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(0.2)))^2))*((0.2)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(0.2)))^2))*((0.6)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(0.2)))^2))*((1.0)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(0.2)))^2))*((1.4)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(0.2)))^2))*((1.8)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(0.2)))^2))*((2.2)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(0.2)))^2))|0.2+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(0.2)))^2))*((2.6)*(2-(0.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(0.6)))^2))*((-3.00)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(0.6)))^2))*((-2.6)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(0.6)))^2))*((-2.2)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(0.6)))^2))*((-1.8)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(0.6)))^2))*((-1.4)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(0.6)))^2))*((-1.0)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(0.6)))^2))*((-0.6)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(0.6)))^2))*((-0.2)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(0.6)))^2))*((0.2)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(0.6)))^2))*((0.6)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(0.6)))^2))*((1.0)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(0.6)))^2))*((1.4)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(0.6)))^2))*((1.8)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(0.6)))^2))*((2.2)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(0.6)))^2))|0.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(0.6)))^2))*((2.6)*(2-(0.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.0)))^2))*((-3.00)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.0)))^2))*((-2.6)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.0)))^2))*((-2.2)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.0)))^2))*((-1.8)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.0)))^2))*((-1.4)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.0)))^2))*((-1.0)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.0)))^2))*((-0.6)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.0)))^2))*((-0.2)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.0)))^2))*((0.2)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.0)))^2))*((0.6)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.0)))^2))*((1.0)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.0)))^2))*((1.4)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.0)))^2))*((1.8)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.0)))^2))*((2.2)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.0)))^2))|1.0+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.0)))^2))*((2.6)*(2-(1.0))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.4)))^2))*((-3.00)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.4)))^2))*((-2.6)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.4)))^2))*((-2.2)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.4)))^2))*((-1.8)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.4)))^2))*((-1.4)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.4)))^2))*((-1.0)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.4)))^2))*((-0.6)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.4)))^2))*((-0.2)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.4)))^2))*((0.2)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.4)))^2))*((0.6)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.4)))^2))*((1.0)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.4)))^2))*((1.4)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.4)))^2))*((1.8)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.4)))^2))*((2.2)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.4)))^2))|1.4+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.4)))^2))*((2.6)*(2-(1.4))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(1.8)))^2))*((-3.00)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(1.8)))^2))*((-2.6)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(1.8)))^2))*((-2.2)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(1.8)))^2))*((-1.8)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(1.8)))^2))*((-1.4)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(1.8)))^2))*((-1.0)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(1.8)))^2))*((-0.6)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(1.8)))^2))*((-0.2)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(1.8)))^2))*((0.2)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(1.8)))^2))*((0.6)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(1.8)))^2))*((1.0)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(1.8)))^2))*((1.4)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(1.8)))^2))*((1.8)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(1.8)))^2))*((2.2)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.8)))^2))|1.8+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(1.8)))^2))*((2.6)*(2-(1.8))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(2.2)))^2))*((-3.00)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(2.2)))^2))*((-2.6)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(2.2)))^2))*((-2.2)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(2.2)))^2))*((-1.8)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(2.2)))^2))*((-1.4)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(2.2)))^2))*((-1.0)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(2.2)))^2))*((-0.6)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(2.2)))^2))*((-0.2)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(2.2)))^2))*((0.2)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(2.2)))^2))*((0.6)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(2.2)))^2))*((1.0)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(2.2)))^2))*((1.4)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(2.2)))^2))*((1.8)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(2.2)))^2))*((2.2)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(2.2)))^2))|2.2+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(2.2)))^2))*((2.6)*(2-(2.2))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-3.00+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-3.00)*(2-(2.6)))^2))*((-3.00)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-2.6)*(2-(2.6)))^2))*((-2.6)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-2.2+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-2.2)*(2-(2.6)))^2))*((-2.2)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.8+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-1.8)*(2-(2.6)))^2))*((-1.8)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.4+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-1.4)*(2-(2.6)))^2))*((-1.4)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-1.0+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-1.0)*(2-(2.6)))^2))*((-1.0)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-0.6)*(2-(2.6)))^2))*((-0.6)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (-0.2+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((-0.2)*(2-(2.6)))^2))*((-0.2)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.2+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((0.2)*(2-(2.6)))^2))*((0.2)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (0.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((0.6)*(2-(2.6)))^2))*((0.6)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.0+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((1.0)*(2-(2.6)))^2))*((1.0)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.4+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((1.4)*(2-(2.6)))^2))*((1.4)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (1.8+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((1.8)*(2-(2.6)))^2))*((1.8)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.2+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.2)*(2-(2.6)))^2))*((2.2)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 998 901 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 998 901 a 998 901 +a +tx@Dict begin /Func (2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(2.6)))^2))|2.6+((0.35)*t)*(1/sqrt(1+((2.6)*(2-(2.6)))^2))*((2.6)*(2-(2.6))) +) AlgParser cvx def end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a 998 901 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 998 901 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 88.35017 0 -85.5 0 ArrowA CP 4 2 roll ArrowB +2 copy /yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap +stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false +and exch 2 lt true and or { /viceversa -85.5 88.35017 gt { true }{ +false } ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline +85.5 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 +setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def +logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT +dx log mul add def x abs MaxValue abs le { false { x minTickline moveto +x maxTickline lineto } { x tickstart STsize mul moveto x tickend +STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke +grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick +cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le +{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline +STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave false { cntTick minTickline moveto cntTick +maxTickline lineto } { cntTick tickstart moveto cntTick tickend +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline moveto x maxTickline lineto } { x tickstart STsize +mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT +0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt +{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave cntTick tickstart moveto cntTick tickend +lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def +} ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 0 85.5 0 -85.5 ArrowA CP 4 2 roll ArrowB 2 copy +/yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap stroke + stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and +exch 2 lt false and or { /viceversa -85.5 85.5 gt { true }{ false +} ifelse def /epsilon 0.01 def /minTickline -85.5 def /maxTickline +88.35017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 + setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch +def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick +dT dx log mul add def x abs MaxValue abs le { false { x minTickline +exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch +moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth +SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs +0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch +moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick +tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch +lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def +} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin +{ gsave false { cntTick minTickline exch moveto cntTick maxTickline +exch lineto } { cntTick tickstart exch moveto cntTick tickend exch +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart +STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } +if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore +} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 +sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize +mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } +ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW +subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart +exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke +grestore }{ /showOrigin true def } ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 85.5 0.0 -85.5 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 88.35017 0.0 -85.5 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 930 685 a Fb(1)930 449 y(2)875 +1155 y Fa(\000)p Fb(1)875 1392 y Fa(\000)p Fb(2)875 1628 +y Fa(\000)p Fb(3)1217 977 y(1)202 b(2)-772 b Fa(\000)p +Fb(1)-327 b Fa(\000)p Fb(2)g Fa(\000)p Fb(3)p 0 TeXcolorgray +0 TeXcolorgray eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb5.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb5.eps new file mode 100644 index 00000000000..f1c95b8d538 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb5.eps @@ -0,0 +1,13687 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: testps-fig1.dvi +%%CreationDate: Tue Apr 01 21:50:28 2014 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 101 580 227 698 +%%DocumentFonts: CMR8 CMSY8 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: DVIPS.EXE testps-fig1 +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2014.04.01:2150 +%%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 +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}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 755 2013-03-09 08:48:58Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.15, 2012/10/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. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/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 594 2011-10-31 18:13:18Z 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->EE +%% 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 +/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 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt +%% +%% 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ß +% 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 +%% +%% 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: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.0: CMSY8 003.002 +%%Title: CMSY8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup +/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY8 def +/FontBBox {-30 -955 1185 779 }readonly def +/UniqueID 5096649 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 +0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 +14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 +7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 +2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 +DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 +209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 +2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 +B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 +24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 +65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 +88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD +CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 +B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 +B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED +516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 +11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 +44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF +E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F +67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F +81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 +26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 +2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 +90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 +609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE +E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 +48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 +8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 +8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 +AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD +1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 +56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 +1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 +3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 +46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 +38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 +6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C +BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 +40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 +023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A +579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 +5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 +31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 +F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 +D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 +285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 +FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A +D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 +4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C +1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC +82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E +08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 +B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD +72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 +E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 +198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 +C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 +EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B +B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 +304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 +FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E +02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 +130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 +F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D +07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 +ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 +24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C +1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED +55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 +546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF +22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 +5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D +6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 +248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 +E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 +E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 +F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 +CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD +15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC +3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 +1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A +A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 +8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 +7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 +DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E +9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 +83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 +307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 +39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 +805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D +6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 +3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C +08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 +A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 +866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 +C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 +75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B +893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD +CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 +491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D +8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A +3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 +B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 +64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B +167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 +E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B +A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 +D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF +0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D +C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D +628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD +C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 +5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 +302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 +2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 +9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 +491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 +5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 +35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC +1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 +3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 +7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 +3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 +B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D +289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 +EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 +DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 +BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C +42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B +9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 +A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA +9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 +5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 +67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A +3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 +36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 +9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 +89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 +63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 +7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 +72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 +C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 +BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 +AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B +D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 +B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C +5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 +93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 +C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 +4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA +058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D +74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 +A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 +42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 +516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 +2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 +A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 +2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F +46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 +EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 +9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B +3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 +6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 +E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 +B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 +89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A +1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A +310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 +33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 +1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 +BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 +06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C +2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 +CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 +80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 +577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 +F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 +B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 +95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD +8E24F52934 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 +5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 +B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 +9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 +0826E1DEB8CF0BE87C59313978F28295C0E3A01D2B5682DA86A38F390982A8FE +C3E81B8D3532C92C4A4A4BCB421D248F634447613101BA5B301431F192BC6962 +E6F9E2542F1B0D3AE7560888A9344A7EB7ACED0D46351ABA0DC93EEB47CDF0AF +28B602579EE7E3CEFE0C6F5332EB843348D80B020E7A127C634BF2A3A55B6C94 +1896769C33D5BEFA8F144D6DD702380447904C92197B8C7CB55679A6AB8FB7D6 +2E3087D2CC3CB9BC10C0CC485AE395D036339862CF98337FEEE3394157B9862A +120162EE40ADD32C55B39E4BED180B4E4F51C28377589B982F13DC6D44E758B3 +022813BABDF45231A712C97D06658FC2AAB9F59BEEF9FDBE186B7CF64ABDB9E9 +CAAB0BC223880A2DD496BC166B6C88552D2B1B23965FAB5BC51D2EE90B8E1322 +5688DEB8C76E0E9C2FC7EF7AEB6E7DAE821F73A43A5CA6814FC018337C234636 +4D61A7EE4CAD90722EF68E825686812D5A20AC3874A33E3202C32E60B44FFAFC +8D517C3A5B86ED309A0DFBC06EFA9BA510DD6C8E6292544F0EB765371C64CAC1 +F04F96546838C6E7423116B4FB72F7C81C47C55138A3819E121884A0A5E87BE8 +DE4D02 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) +@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 205[35 35 +49[{}2 66.4176 /CMR8 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 165 192 a + /pssetRGBcolor /setrgbcolor load def /pssetCMYKcolor /setcmykcolor +load def /pssetGraycolor /setgray load def + +165 192 a 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 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-2.00))^2))*((-2.00)-2*(-2.00)) +) AlgParser cvx def end + 762 +664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-2.00))^2))*((-1.7)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-2.00))^2))*((-1.4)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-2.00))^2))*((-1.1)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-2.00))^2))*((-0.8)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-2.00))^2))*((-0.5)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-2.00))^2))*((-0.2)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-2.00))^2))*((0.1)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-2.00))^2))*((0.4)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-2.00))^2))*((0.7)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-2.00))^2))*((1.0)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-2.00))^2))*((1.3)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-2.00))^2))*((1.6)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-2.00))^2))*((1.9)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.7))^2))*((-2.00)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.7))^2))*((-1.7)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.7))^2))*((-1.4)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.7))^2))*((-1.1)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.7))^2))*((-0.8)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.7))^2))*((-0.5)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.7))^2))*((-0.2)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.7))^2))*((0.1)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.7))^2))*((0.4)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.7))^2))*((0.7)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.7))^2))*((1.0)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.7))^2))*((1.3)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.7))^2))*((1.6)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.7))^2))*((1.9)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.4))^2))*((-2.00)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.4))^2))*((-1.7)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.4))^2))*((-1.4)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.4))^2))*((-1.1)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.4))^2))*((-0.8)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.4))^2))*((-0.5)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.4))^2))*((-0.2)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.4))^2))*((0.1)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.4))^2))*((0.4)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.4))^2))*((0.7)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.4))^2))*((1.0)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.4))^2))*((1.3)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.4))^2))*((1.6)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.4))^2))*((1.9)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.1))^2))*((-2.00)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.1))^2))*((-1.7)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.1))^2))*((-1.4)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.1))^2))*((-1.1)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.1))^2))*((-0.8)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.1))^2))*((-0.5)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.1))^2))*((-0.2)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.1))^2))*((0.1)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.1))^2))*((0.4)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.1))^2))*((0.7)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.1))^2))*((1.0)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.1))^2))*((1.3)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.1))^2))*((1.6)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.1))^2))*((1.9)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.8))^2))*((-2.00)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.8))^2))*((-1.7)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.8))^2))*((-1.4)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.8))^2))*((-1.1)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.8))^2))*((-0.8)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.8))^2))*((-0.5)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.8))^2))*((-0.2)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.8))^2))*((0.1)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.8))^2))*((0.4)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.8))^2))*((0.7)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.8))^2))*((1.0)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.8))^2))*((1.3)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.8))^2))*((1.6)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.8))^2))*((1.9)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.5))^2))*((-2.00)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.5))^2))*((-1.7)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.5))^2))*((-1.4)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.5))^2))*((-1.1)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.5))^2))*((-0.8)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.5))^2))*((-0.5)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.5))^2))*((-0.2)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.5))^2))*((0.1)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.5))^2))*((0.4)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.5))^2))*((0.7)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.5))^2))*((1.0)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.5))^2))*((1.3)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.5))^2))*((1.6)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.5))^2))*((1.9)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.2))^2))*((-2.00)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.2))^2))*((-1.7)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.2))^2))*((-1.4)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.2))^2))*((-1.1)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.2))^2))*((-0.8)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.2))^2))*((-0.5)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.2))^2))*((-0.2)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.2))^2))*((0.1)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.2))^2))*((0.4)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.2))^2))*((0.7)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.2))^2))*((1.0)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.2))^2))*((1.3)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.2))^2))*((1.6)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.2))^2))*((1.9)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.1))^2))*((-2.00)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.1))^2))*((-1.7)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.1))^2))*((-1.4)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.1))^2))*((-1.1)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.1))^2))*((-0.8)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.1))^2))*((-0.5)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.1))^2))*((-0.2)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.1))^2))*((0.1)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.1))^2))*((0.4)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.1))^2))*((0.7)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.1))^2))*((1.0)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.1))^2))*((1.3)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.1))^2))*((1.6)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.1))^2))*((1.9)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.4))^2))*((-2.00)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.4))^2))*((-1.7)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.4))^2))*((-1.4)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.4))^2))*((-1.1)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.4))^2))*((-0.8)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.4))^2))*((-0.5)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.4))^2))*((-0.2)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.4))^2))*((0.1)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.4))^2))*((0.4)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.4))^2))*((0.7)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.4))^2))*((1.0)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.4))^2))*((1.3)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.4))^2))*((1.6)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.4))^2))*((1.9)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.7))^2))*((-2.00)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.7))^2))*((-1.7)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.7))^2))*((-1.4)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.7))^2))*((-1.1)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.7))^2))*((-0.8)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.7))^2))*((-0.5)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.7))^2))*((-0.2)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.7))^2))*((0.1)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.7))^2))*((0.4)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.7))^2))*((0.7)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.7))^2))*((1.0)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.7))^2))*((1.3)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.7))^2))*((1.6)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.7))^2))*((1.9)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.0))^2))*((-2.00)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.0))^2))*((-1.7)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.0))^2))*((-1.4)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.0))^2))*((-1.1)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.0))^2))*((-0.8)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.0))^2))*((-0.5)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.0))^2))*((-0.2)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.0))^2))*((0.1)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.0))^2))*((0.4)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.0))^2))*((0.7)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.0))^2))*((1.0)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.0))^2))*((1.3)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.0))^2))*((1.6)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.0))^2))*((1.9)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.3))^2))*((-2.00)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.3))^2))*((-1.7)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.3))^2))*((-1.4)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.3))^2))*((-1.1)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.3))^2))*((-0.8)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.3))^2))*((-0.5)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.3))^2))*((-0.2)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.3))^2))*((0.1)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.3))^2))*((0.4)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.3))^2))*((0.7)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.3))^2))*((1.0)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.3))^2))*((1.3)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.3))^2))*((1.6)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.3))^2))*((1.9)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.6))^2))*((-2.00)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.6))^2))*((-1.7)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.6))^2))*((-1.4)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.6))^2))*((-1.1)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.6))^2))*((-0.8)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.6))^2))*((-0.5)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.6))^2))*((-0.2)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.6))^2))*((0.1)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.6))^2))*((0.4)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.6))^2))*((0.7)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.6))^2))*((1.0)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.6))^2))*((1.3)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.6))^2))*((1.6)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.6))^2))*((1.9)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.9))^2))*((-2.00)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.9))^2))*((-1.7)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.9))^2))*((-1.4)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.9))^2))*((-1.1)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.9))^2))*((-0.8)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.9))^2))*((-0.5)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.9))^2))*((-0.2)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.9))^2))*((0.1)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.9))^2))*((0.4)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.9))^2))*((0.7)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.9))^2))*((1.0)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.9))^2))*((1.3)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.9))^2))*((1.6)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.9))^2))*((1.9)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 59.85017 0 -57.0 0 ArrowA CP 4 2 roll ArrowB +2 copy /yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap +stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false +and exch 2 lt true and or { /viceversa -57.0 59.85017 gt { true }{ +false } ifelse def /epsilon 0.01 def /minTickline -57.0 def /maxTickline +57.0 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 +setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def +logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT +dx log mul add def x abs MaxValue abs le { false { x minTickline moveto +x maxTickline lineto } { x tickstart STsize mul moveto x tickend +STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke +grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick +cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le +{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline +STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave false { cntTick minTickline moveto cntTick +maxTickline lineto } { cntTick tickstart moveto cntTick tickend +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline moveto x maxTickline lineto } { x tickstart STsize +mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT +0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt +{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave cntTick tickstart moveto cntTick tickend +lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def +} ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 57.0 0.0 -57.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 59.85017 0.0 -57.0 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 0 57.0 0 -57.0 ArrowA CP 4 2 roll ArrowB 2 copy +/yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap stroke + stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and +exch 2 lt false and or { /viceversa -57.0 57.0 gt { true }{ false +} ifelse def /epsilon 0.01 def /minTickline -57.0 def /maxTickline +59.85017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 + setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch +def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick +dT dx log mul add def x abs MaxValue abs le { false { x minTickline +exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch +moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth +SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs +0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch +moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick +tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch +lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def +} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin +{ gsave false { cntTick minTickline exch moveto cntTick maxTickline +exch lineto } { cntTick tickstart exch moveto cntTick tickend exch +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart +STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } +if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore +} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 +sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize +mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } +ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW +subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart +exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke +grestore }{ /showOrigin true def } ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 57.0 0.0 -57.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 59.85017 0.0 -57.0 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 694 449 a Fb(1)639 919 y Fa(\000)p +Fb(1)639 1156 y Fa(\000)p Fb(2)981 740 y(1)-536 b Fa(\000)p +Fb(1)-326 b Fa(\000)p Fb(2)p 0 TeXcolorgray 0 TeXcolorgray +eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb6.eps b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb6.eps new file mode 100644 index 00000000000..7d96857165e --- /dev/null +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/For_Ps_Output/vecb6.eps @@ -0,0 +1,13656 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: testps-fig1.dvi +%%CreationDate: Tue Apr 01 21:54:59 2014 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 101 580 227 698 +%%DocumentFonts: CMR8 CMSY8 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: DVIPS.EXE testps-fig1 +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2014.04.01:2154 +%%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 +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}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 755 2013-03-09 08:48:58Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 1.15, 2012/10/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. +% +% +% Define the follwing gs-functions if not known, eg when using distiller +% +systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if +systemdict /.setblendmode known not {/.setblendmode { pop } def } if +systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if +% +/tx@Dict 200 dict def % the main PSTricks dictionary +tx@Dict begin +/ADict 25 dict def % The arrow dictionaray +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments +/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known +/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) +/Div { dup 0 eq { pop } { div } ifelse } def % control the division +/tan { dup cos abs 1.e-10 lt + { pop 1.e10 } % return 1.e10 as infinit + { dup sin exch cos div } ifelse % default sin/cos +} def +/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees +/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root + pop pop 0 }{ sqrt exch atan} ifelse } def +/NET { neg exch neg exch T } def % change coordinate system to the negative one +/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter +/Pyth2 { % Pythagoras, xA yA xB yB + 3 -1 roll % xA xB yB yA + sub % xA xB yB-yA + 3 1 roll % yB-yA xA xB + sub % yB-yA xA-xB + Pyth } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian +/Rand { rand 4294967295 div } def % a real random number +%----------------- hv added 20050516 --------------- +/PiDiv2 1.57079632680 def +/Pi 3.14159265359 def +/TwoPi 6.28318530718 def +/Euler 2.71828182846 def +%/e Euler bind def +% +/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees +/DegtoRad { Pi mul 180 div } bind def % viceversa +%----------------- hv end--------------------------- +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def +% +/PathLength { + flattenpath /z 0 def + { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } + { /y ED /x ED PathLength@ } + {} + { /y y2 def /x x2 def PathLength@ } + /pathforall load stopped { pop pop pop pop } if + z +} def +% +/STP { .996264 dup scale } def % BP/PT scaling +/STV { SDict begin normalscale end STP } def % +% +/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 594 2011-10-31 18:13:18Z 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->EE +%% 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 +/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 130 2009-08-27 08:55:03Z herbert $ +% +%% PostScript prologue for pstricks.tex. +%% Version 2.02, 2009/06/16 +%% +%% For distribution, see pstricks.tex. +%% +%% Timothy Van Zandt +%% +%% 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ß +% 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 +%% +%% 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: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +%%BeginFont: CMSY8 +%!PS-AdobeFont-1.0: CMSY8 003.002 +%%Title: CMSY8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMSY8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMSY8 known{/CMSY8 findfont dup/UniqueID known{dup +/UniqueID get 5096649 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMSY8 def +/FontBBox {-30 -955 1185 779 }readonly def +/UniqueID 5096649 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMSY8.) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 +7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 +DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 +511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 +1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD +028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 +1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A4D80B73E7B6CB7548 +0E1D77FFC695988391DC44AEED8CC947B3D7E198B9620E2238DB3A2819182F03 +14498B8CDFBA48926DA721920B221FB33BC21A8456AF10891403501D0F6415F0 +7E041AFFE109F640E54FC1A365674711EFF94E752652A4C8DA62CDB1149DB899 +2C4A4BD77A06E81E93C5698C05DD02F74A0756082738BDB53003B483752AE498 +DD718AEA8F3FB5A6B7E2D2AE8F309065F3D556F9A34AB90C88833A54295E0982 +209C466A301BA3372AABEE20D862C6DC6B6FAC1463C8CBA8AD766ED1B4C9D712 +2BECB4E6ABF558D8AB5281C35726BB8D046982C0DDAE17BFFC9394125E4E84C0 +B283977D31460B8EED4346CCB09F64DA0ACB640C6DBF32F2DC30D54668C1CC12 +24C7280593088E9958C047125C323E9C842801346A9CE5F50413D69F6DE99471 +65D2E387765E92EA4C43F17B467DF6E266D92551009C0E52E7219AE9F5E2E8D2 +88852086FF3600BFB50AF3EAF8C009D8D5F084B510F792385F328F7EFA8C38AD +CDAB2EEDFBC6AA45F6DD7364C2F02DD2BE6C79C8361E83D4267CEC2407689864 +B57B5D967FC80AB3BE8CA43955FB0FD3081D438437559AD24A7ADD484C1E4A77 +B00BDCB0D1B121FEE983412E1EA5489BDCE5DCB4A7310135956B230C0DE7BBED +516369A92BC41FAC8D73490984942D930DC193BF0C774C1AEF627B969EE4B001 +11381AC57815D7581E2372A1DB740B09F4A7FB4318B765DA4E7B44E8805CEF85 +44EC3B10613FE7B397BF91B69A5CB2E9086D1E7A1FAE0A9ABF2A237A2D29ABFF +E392A18AEACBF28274E775D3FBAED4F46B982B9DA4602E24094EDCCBC9D6FC0F +67C60376879245606C0B9C9A678E8917516BE1CF097B1C75C9F0DDAD6899F08F +81FB7A198D45FE060CD2A550D9B8D58B882B969D7BC3EC018A1FE92BDB262835 +26516FF97AC387EA525FF987E5EB1EAAE4EA5866C9CC043D183763C530F7D7A1 +2070E4044507C4E5611FCC117FBE4396E0B24F672CD53D5FDFA56D561FB86D40 +90A52A7C7F29A119DFFB694A8C445367746A49CA5FA83163BE448EB19625DF26 +609A8C8672631A10411036CAA3D6C2F822A4B2505DCBE8E1CE6916AE515E78CE +E8C894B134BF811671D17C19248853131DFFAEDB24B15FF17EAC194662460642 +48D23515AD434C68DF56753806FE96DB3A29F9D4980E0B6EAED7383F9FAD2584 +8F85679D6D1933677ADF5D31FE6E43DABF137E834A1DEA632D36EA5728625159 +8F33348893C9D1C510501628E4A9A80587DF6E179FAF68B158406A3EBCD726E2 +AC17F2DF8B3607072824D2E5A6479F7BADE32E603E54E7A83BB2DFDEDB0D80CD +1F1BDD4F6C9025CC3A8A3685DF10A8183FA80CE0F0FE2BFF2500F76B1037AE41 +56D2D7FB468C3CA7549E3599A2AACF66302572F1B35BC8EF7C23F6FC4B720228 +1D673D903111CE378AAE83480B4DEB7EA84BB35F4F7BE997DD4FFF5A9B5E7650 +3C7365BA0965B242DC369D03215651184024A08EC284F1798B0726152884B4D8 +46411B3BC8F5CB53A70AD53BD7B1AF23528849B56CF2F75609FE715878CF6448 +38579380688B47AE3D374B0DB6ECA5B8284414090123D47F3F9DF389E023F431 +6B4C0DDEE4190DEEF4CA772742012754DA9A44A8F550FADA6D8FB0C512D5BA2C +BB7DF71B1DA41FB6936BA71B710CC6A80751E43436F0F5888F51AB370DD4A088 +40F402661E08732C960705C7E0D29B8DA1A8A3E119409E51EE575E9655F47568 +023977917C8EC610BEBDB9C1F4EBC192084D63EAA00EC87B53E86620BB5AE51A +579B0F8E1972CE1DA02832FC75184F45409DD9D413402C2FA27BCB0AE6DB4CE1 +5AFB114E23232DE07C4674969A1FC94D152C6D3A611F029ACF4D949A2C0755D0 +31C7DACDBB4DFCFAF7E87295CCF5D4AE28D87ABC3533D87EEF1507B9FF9063F7 +F007DF03734A20BC3A198B049000C92D2849C62DDAA719FC28EB372793E20128 +D786670E08948808BA45C4F6AA0DD8A8357CCC47228A760C5C7864853BD9C9A4 +285E446CB72C5C9D3F03FAB000810DC5674061FA116153040743E846506CFA67 +FA8770E785D7DBC7293F37389A0859CC22275B23C44B57B92A033A7BD194340A +D6BAC6E103402F8396A5394C617CB2A27D9500921D5DA06115EC81715EA8E360 +4A95DCE8689CBE268B8E6C8B806CFB0ECBF634250243C9E1AFFACAD65311FA4C +1DB0988203537E5EF12B86FB454D06CF05E4F4FC4143D62920E99304245B6ABC +82E21192BE94F5E980DB21E07FEDF0EB0CAF4ABDFC20EF08A2A44A7940E2862E +08FABA516152DBA899D6CA561EB08C7C8298DD511084E5230CEBF28AB1D84C85 +B5BAF4616C28FE05AFA4BABB3BA03F8CEEF3F3EB0D3034BD3D8D06629B8E9EBD +72484057E71C9EB4DFC7C2CE7749271AC926C2419D618FB0B60FD6F81F0F2C04 +E529CC74DCC9E4AF32D935D7CA65FBD0842A7BAF162D08F782E65DF3AD9EFE69 +198AFA9208B22BC21BC4ECABB9BFFBA84C8421B74748E1EAAACEB59E566838F2 +C439579D6C75074F94493F7D5C8942D881AAE6302C37A61003AF77684EE99AD7 +EB5EEEF050C52E75E4E842F8174470FA60CB213BB6F257EEB26CC55D1202931B +B981DE2535A87CF37BFF912220C117EE166CCAE58BBF624170FFBC0716726B36 +304D698F2CA131675F7B1199E6581B8C812C4FAF75814282477BE2B7EBCBA7C2 +FA6356B2876F89698C6C2493989E9EB252DE03BB374622A7C88B8EE9FEB4851E +02F85CF70CDCA7BED5EC94E81170FB557C3BFC6F32CD70B506E56A2CC5451592 +130C6F570C679577C44D60A811DCEFB3535D855259B1021AC168DB76DD38B459 +F1813E3DB20AD9275D58880CE94058490ABBBB0D8DD16D4A65F680B30057F15D +07FF54D779CC978E90A850A2D8D79961EE276BB26B594C16F56557435671A3D8 +ADD3DD0BC4BC73B0652B9DA8462FE614A14A11ADB2214EC4910823FB4CEC8938 +24354C5C62547EE5710FB5ECD93AA45DEA7411F6CA8D5B5FA222685E622AD73C +1BD5DFD1C8F253352D6C7D14FF2FACF07CA5EB11392C6A33E9CABFD99F743BED +55E8DEF49E07B9444171D1780C698E5B65B540F41F845AC188DC7C0C8B5BA5F3 +546BEAAA4F29F0DF30D5AC12A60862742623100074457BF2D820DCAAB340C1DF +22FF26992DC02F276B40A7C528C84B72CD189A4088C90070486C49A1014FDDA3 +5093FC12DAF309FBC063653E6A33E14EB51B081126AB5BCB8016E975060B796D +6CBFDFE6CB9E191F12E309254BDD6660E3227012F5DADE246B02B6D8127F1EE2 +248F48DC5ABBD229748444420C868450602120664984FE3A8B2373232CE5CA15 +E67172CAF7EA99F73A66AE33B1EDE5E8351DB02497CE3338930147873D4E46B5 +E918F5592A21789FA9F46232BE693DFC33240E2649D6AC1940B101D806089436 +F0CE230BF6D0363510378822891DBD3EEF3365430E74FB6C994BB40C8EEDA593 +CEDAFEBC3B87C7C04F52FBD7D557A77B44855CDBEC8A8D26F44D66446B5662AD +15B6B79D13BD262D79BF51C09F8F690A61C7F11EC2E05F6BEDA273648E9E1EBC +3D5F1D6ED486797F753064ADDA8494405556D43D395B1487EDE877CCC1EAE954 +1AEE2513DDA94897B733609E8179DFE1975590568202EF20D58A89B34874CC3A +A5579473AC65E0EE61545AEF578ADE10BE3FB3E2CDC96678F613E4DEF7BC1B38 +8A551C93438A0540E292F65F1FA73D9AB30A5F545284085E4930A570C1807995 +7108AA8194607304488616DD4AB189F8EDC5F4507AEFD7847817A8ECFFDD2DD5 +DE95E04EAF2774F8AF661827229F01E769A32734097C457EB6FF056D90C46C5E +9F936AA6BF2EE8244BBEDB8862E56423F5845BB10C8809730B011D650EA18945 +83C320A3F4ED095A5EF91929FC877ECC28A1C2CE74A53245E629BF46C6534983 +307B1C94EB35CECDEE86551F0C308F66690E591C5D9D8FE14F534CF3F5DB6D32 +39D7C799F392C4E65759B7BF61F4D8312E3B26C31466206A367A0DD7A90D25E2 +805D36ED5CE0A4BEBCAC0A348FADD2D2AAD670E28BE6E33F627B4A9F35078B1D +6688084C4C18840673EF9B3526172EE14EF64E97C8B006C27DF6EF73BA6E6459 +3608F10EB1EC4B824DD5360B42AFF2084788B165747AABFB2C9C0EBBA9C6246C +08F28143809315D6268E386F09BBAC54C34213438B56C386B34AA457D149CC39 +A3C163F56E3C2E637C63A79CF7F2DE969EF3AAFF75F3F20499A9ACA61279D545 +866FFE57D25998244F448AAB042B141952BD653007A889B1A716A4042CBBB827 +C1ED5E3C616C22D5FCB39D3B3539F9B71D50D25ECD2E5D953C7A5194C867DDB1 +75CE10B2C3A20E8CDE15AAE9F549D034838DC066CA649C31EE365D46450AF18B +893748D055DD88C72391FD92DDF0AA1A1316051BC756F87BC9A425019B2FA7BD +CA9F35E89E2229B3021DD24C9DF0DC3217F44DCF510116DDC9E92EFDA3E0A892 +491C8961CA484BA29B8CACD2FED2E246FA7414F892AF7B9F08698FDEC82D2E4D +8C6ED1FD9E0BA2645663E7E97B0F780033D025F2EF3B364574C03F04FFC4E09A +3D4182BBFCCCD8CA54A92434E2208803ED36F931D31C7498B7FCEE4B78AECF11 +B27123A10F031F9CBA36066680E4748E346D18FD0EFA395D1A9227530618ADD9 +64D96C50A0172F712CB427E8F7170F8A1691FB95B247A271499F0E63676BD64B +167438333A3BD9CD9641AC637E0ADB17F1E394DF34AF5A2BD02030DD087BBA02 +E1209338B74075744A9A9966039AB6D223F385E06FF359257913E6C01BF32F5B +A3640C7CA41A6C51F296E50DC1CD1D68491CE5D75E0ABDD4C5C4A97C8BE2BA35 +D91AF9F8F38E7AB8C1778B06A212D0416E6137087329AAA2679C51D014CC4DEF +0F1543E2FD97621E552E19B29AA1368CB5046C188BA59B1E1875B25FB269DD2D +C0678A42CD310702465694F2BF302AEBC43F714F7C657505132DDA71CD23D17D +628BF3400EB5DDFCE2850F31B40C5913394649AA4241CF646F3939916C2077AD +C11F8C3E478586AA7931E327333FCD8A2EB31DF4B47AA2F31B999556602DD998 +5848143C0CBD0B5187DF08E675550F2384D48C2954EA7D16AD2B94DF97C194D2 +302CC47BF968CB1F6C9641A87525D5C6972ACCA1D4A4B4DA8EC54BEA6E7312B3 +2737754A9FCBED3BA5F8220B751506BB0A5BB5CF706AFCC04BFD713A3BE3C842 +9FFDBAA0CA5691D0FCE76134841A169970903843163DE68FF09649E99945DB64 +491FD6D8B2DF237DBAF550D1B74263B3BF1EF6211F40D4DF2DEC46E4DE557088 +5D458A7CDC6F34B8C3F5C76582C8B7D24A333AAE0B43CA67436F8ECAD7C50B12 +35BAAD521033D8024E4DFCF01580AEC63BD5F8ADB778F822AC4FF0DA608EB7CC +1A52A51B9F38FFADC0D2F4D8394C5D598123B483AE5AC1215F24F2492EBAA134 +3C58AD4E3B493AABDF753EBF1F04058C6981C353D6788C2D3294165B667D3765 +7883A8493F5D772F789F73979B254BB9397FDE4F8B76CA6FFF312F4B012949F4 +3EDCF1AC60FFF2681549DFF430B498405E79CB407DADFCEDCAB1E2FAD3B0F4C7 +B575A33EAFF9F67D37F50BB06D06834EA683862991C5BE340D4A7F8D131E733D +289F72977870F9958102F5D835739F0F5A642E7194E8AF7FDA2937E5C0712CE4 +EE15CB475725030CE0F238C32775D3EC95CE3D0886046E3EEAE322F59D423E83 +DE88DDAB5CE0F70537487EBA5A16A9306BA7DDCA14A85A9F83B3BC3600DC9421 +BDADA2704A5A24F7174A3A486ACE68739EC5960038CB44D969A594E97AE1F42C +42C1B7E3A456B3CDFC7683537B337AA8777F18CA45B22C8BEB18877DC624496B +9E8EF9F386B7FE4D94ABD5CE3B5786E76FE04A35909C472C04654A4405932EE6 +A4A3E0F6DB088603FDD82F0EFCB85A962002A662D1AD0647A2F484B59075A1FA +9F4327D542ED7962620B998ECC3A95CE736089593461CED9B5AAAB05C2DA3820 +5AF29B32904E1EEC357C8E282189C6D8F562DB11291091E6897E24CD8F8E2A34 +67F35D261E01336152E69831B0CC6B03FF1AC7EA22B745F513A25FE10F70E74A +3FD71FE1EC9999BEDE7CFA6A97EA2DF621711BE950FF8960965685BAAEA71FA6 +36F165573A0A6A92DAEE41A9B0C97BF03419FF6BA1F44524D00FD671EACC4233 +9A857680DFD27B9F1E7A760058C8277B3761DB9969241D1824A7DADF70BBFC38 +89C6DB9091E3BFCB36851CB9662B365A4B7384BDBA1D385902D1E5DABA72A159 +63790096B927EA49299AE03E41C7F593F3B995D1155E91C62D5F68845ED3C797 +7798B56858F96C2FE2E37D812873B7801767082A6D6B60602CEB94B7F6D7A142 +72814734DC584A18D1FFEA7333D4C7E2DFE5B91E9AD92EB52533CA52FA888980 +C79FEEDF0FAFB3B20B497F9AB668BDAFA364B405916526D5C48E57DC30BC35B9 +BF684FDFAD199D9A28541327F3899AD505FBBBBB22F419E22E0149EE5FDD2B43 +AF442E2724EC16934C307FA731F90AD1C76B74569B78CDEA7C19808233C6364B +D049F3F50A68D3EC5F29F2B96BC58C44AF90FE13F244B7129F14B5DAC3F3F310 +B330E67CA4EB76F895DAC8025F11EC7630EEB4826B5721348FA38F28B2AEEB1C +5F7CA413C486C94B1DD96988F07F7A08D3635E28624878E55D4FFBEB5E183CB5 +93014D8A272EBCF3A09133603CFFEF43A6FF059BCE525706D3795884FB495748 +C8AFB50DB464459A5C36D7CD087631BC09C693A11BDF1C6011D9864FE66EE8C0 +4824A42E97D16E017C0BB73732D4537E2A5BB283B3568950E5681364DBC1D6DA +058A122862A44ED85029A7B39F2FA7C362D859D0B429E056891339626AE6091D +74F6110CA32F8F3E9507216997E6AD1A2F1FFBE8B407C9880DE230E234F6FD41 +A291851178BEAE5DB9DEB22E3443807E2BCEF12A4AE8C490AA9E3D2918329F47 +42314CD258A0760DE5FDAC4AF7209CEB530B8508B278952A3638CA8491C3B493 +516F461610DBAF32E923ACB834B15E2D169A10F2609EC0ACDF7BDBC777DD2C19 +2DB330FD557D3B06B78824D6AB237D8F2D57A7ED35F02CFA9290ED6893B41657 +A2485524A3F1642FF5808FDB77015D9467EDAC4A6BBE8A175833B1225A5554F7 +2C60207F7A2632A4023255E8EF1F38C1B8216C9B03319B60BEC9799E5378683F +46E698FA75F2DFD40F17C603F3335F1EC70DBA1449C7A33EDDD46CC3DE4A6557 +EE67BF349AA8680FDBF415DC527129288B5879500180F75DF80394EC7CF11BC8 +9EE9A4ABD64DE3076A2963F83FA333F19FF74F79ECF36A87A31D6F125FD2415B +3F6A6FC33C179F54CA164835F3C3DB62AF444BDF27AFF23098C7212477F688B8 +6F48D9AD080D544D57FEDD33D3D9AED9346CBB644C97C951D4AEEB2BF6F0CB18 +E2517BA7ADCFD00FE44E290E731D53E5C0D762FCBA08004562DCE6A5EF2FBB74 +B3053CBED3B6E896B1C3356DD9E8FCB69691AAF6BEBA0424D62B9F266D560B40 +89E20A9F35AD4A7F65A7183761ABBEE0F7EF26ED3565A25516A3A5A57143979A +1EEED8CD52A69E4E1AE4795F3EE0CA21B9F4D166783A9AF54B08B6C56703932A +310197E328C6E6A6BADAA11D66A952964F31FD690082FA02D1E2A4512A9F2742 +33B203FB770A3A1C7490ED630D0FAEB3066429D0237E18818EC368D0DA72EB08 +1951C70139EB0DD59EB53AF5039A7618C77F6CED9F0A066FED6FEE0C0E328351 +BA39746C1224A29D191D8B86491E0A306ABA070CAA2756C3A33990EB6DDF34E8 +06EAAFF94AE6686EEB06A17D6D020D1F4E59428D533DB0EDA6434E6E1A478D5C +2A0D08CB39DA7D5F5200199FFFE3F41729478D4F63AE01FC0BF3B378FF6402D1 +CCF1BE5F191BAEAEC7FE400C9980E103D8776EC196E741AFE11D249E0C277263 +80FBD329524C55943E25631F113FBD8331C0044A7A2138637206A7941CF02590 +577043EB0F205392C34E18B1ADA47CE63CB8F01365A044CE570FA20446102210 +F03C0647CD0CC29E28B149F84C2F39256EE1457CDC3862C4082A95B44A61E8E1 +B4ABAD32DA3E2FB8D849B1C5CEE60F205007464DF38712737776BB6BB3223941 +95169B5BE578BA13DAE40B19AC184CB6F260A1EFE13CC8438ECB56EEBD30ACDD +8E24F52934 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR8 +%!PS-AdobeFont-1.0: CMR8 003.002 +%%Title: CMR8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR8 known{/CMR8 findfont dup/UniqueID known{dup +/UniqueID get 5000791 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR8 def +/FontBBox {-36 -250 1070 750 }readonly def +/UniqueID 5000791 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR8.) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 50 /two put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9928A7C95D3A6E9B +8E92F84CA0AA44461D2F4FA0F8B81C6F5B7BE98C9712BE166610465CF689DFAF +27C875C029C0116DE61C21DA0092D029E7DBEDFDDEE3D67E6936623AB53FA2AF +18BEDDD7AC19A19CADB6ED6CA7A26E6044BE414FFF59C0B98D5819A6B881F9AB +7AD0D03BDD5CD309C67811D5CF0B93F6FDC9AE64F74ED4E81F2E18D880BD842A +DAFD0BDF06300201C6946087FC0B999447BC370200BFB8CA420B668B32EBC242 +6DB1546A7164CF55B332FE9D239B65F532B69EF9F4F93828A44C8F5C526126F8 +B7A369114CA68D4F98638121F4E17F351723D9F1A902FCF087F94AFD23876517 +2D15B482AF2D68C3F31FFA864E031596E597882578AC7FB0DAE2A713B065B374 +3E2E72519ED6D50CBCA40A7275A7109A4F3ED8A4566AD8832890D3D1F4899850 +9B757442B7EA355175CD5D6D8B4152ED2D7EEB4CE30F174FF672140354046A45 +7098EC45B9DF3DF5CF7B417E201DA88308CEF4CED8E8903AF24FB8DD0187352D +25738519ECBC70304F8F620CC45D2586619205DA3955696FAFFE2082402B3502 +CB682F410DE5FFE80A4DA3D3BCF02E35BD577D0DE55E7B8A33B7A2FD5136B5DD +A0BCB61F8E7F4363C21F890CF287304DDB8FCE7FE207C0D160B81E7EA662BED2 +DFF8C444E19C91E72254257CD87240A70F1A964FA54ED9ECF27E27A57DACC3DE +EABB92C085030870C6CF5C40B6E47F5C0AEB30E84A73ECDABB2D754EF6EA28BB +16EBD6636BC288E62F4A38BFB55F5F4DD20FDD77D767F6CB52F9513E8EB75413 +07F1877B2C01278675177499E4E8EB09F2657821613F5C7643FC064293EC6E9E +B519FFAEEA36B19C9D1302CF91FCBF87FCB57C5F995CB6712BB3D8681EB6F05B +B2A4195A3C73CB4ABCCFB958EAC533BD89560D2790CDE1444C0F2E4EF27A529C +F01052964E56F6D76A190E5FF45934BB711A3406284AF130D4DC0D8112BB3752 +762CA0200CA262359D4F54C0CCFA9A50DE18C7DB14419E2990ADDC4A54B94978 +D9174CA39434022FA77FB30179EF805E2189C35919F5EBE215EE2A00B4407826 +CE56329C5586D8B414770BA5D45513C3AF1931D632FCE69B4CA504944E03362C +74A1177C6398A61A12DAA0F156543E2A8E9969C4308B7ACC21A5ECAC8F172541 +1B1316A88C0C163E574FFD3CD22FF08488662FCF2F9344BC25D02146F36CA6F9 +E2D0130C654B7485EEA9A110A33AA0C769121F81821E9A2BD062FAC158359D44 +3F9D9947200EF1EDDD5860F10438B162A69683957300C75AF7546C70C97AB2EE +37EAAF0089E2623F787F252569B06C665FDB45EC9681C0774ACFBA76B98C4E89 +7EB12AA5F8798FFC110B49C25E3A483ABE83B0BCC6DF0578403ADC369E013762 +C9D08FC94D949BAE636ACA9F36F4E3F02296775A062077B011A705B6F1784D36 +A926622CB3847533D7ACB24A4EBABB14593B5D8E1DAE2BFEF8A51835C8D4E76D +7543C126A4271C59A5881A5AF89331694F84489CA66725995DC3070F306EA447 +CF30F63CD476A46D528EC1FFBFB8EACFA2BEEDCF54C92CE2BD26DEA5827186BD +3A4D1709415CEE7D51D671357B4A5D11E835F63521B9824EE5282E58F05A8ACC +FD249461181A38C2F47BAC4E79BE368D64F886AA493C61CBCB2ED401C8AFBA61 +59CA6F6216D941A92AC52ACB3D7ECC28D6A58EF4CC70BA6DE23E80937AB38E89 +6F05FDD15B954C0826636267EDAF9F2BB466BF79D2E10EED9B04297E6BC93069 +79581ADD1A9D9FAE9306F46AC95B98C60A2E53D60CF1AA4069BE301E17E25070 +F98DD67BD8642B1D07571A32766072E48BF27E1576FFEED300D7313A358A823B +49C8F135961B7E259095C9BB67F996CE0B90E95344F203922F47E11753F70D38 +2ECB615403490310CEE6C03AFA97DA2F47ED47125D110FA69725BA0018F6A40B +29A307FDB3E52322A77A0102E6F57654CF1E96A134D13860D83AFA0A41112D3F +2247A09ACF7D06713BE443FA27C7E7220E875965D53030FE7D2D62EFD2F1DB87 +5FB091FEAF599BA8C5167525899E578AB341BFE2BC4E53A047093168AE189237 +EA55F055514EFA939DAE9E859CB5FBCF37D99484F44FE5AA5FA386B28BB642F5 +5DBAF059A50FE96C7C6D834531D64F1F2E99AB2E96EE74D149178B1C0618495E +293973D9A03E1790654B67C0882376ABEC17D74785B3737D81644F28B3BC6FFF +F92FE29126995A07E0BC5EF3A4B93789A103C428943E045B8D1A5063AE71E806 +568D48072E53DEA85253B01DF0BB7367A6BE4DD7BE514AD74E3F77C825ABA405 +64DAFA25EAFF8F63344B5F6B523629776CEB090B546469F6A6008DE43072DD3C +DEF51F62731037D1FBD0C038A1E9B669849EB3BEBA281624F13D20B61917A109 +A0A7871A73F7BAA18077360B38A4625C5DB9AB9E43BDEEB856FD0E2D3AA2E075 +267B978B9EB47F2369302E87DBD5D5B422830BEC32411FE75D584C58650EFB1D +136FEB92B94BF8939FD63AFB7349C7511E5E46AA7324F8B1FFCA9C2A9E9720C0 +A720918E8E860F137567D386AC29870FD990BD69465B3A3D2A0ECF2753578AD7 +80DC87EBB319EB5AFE0B6F6FF8616EA30C51425FE3ECBC5F8D0B0BEFDEF32FA7 +D168B4E85C804B7326A0942CFDE732B1171C643452B7099B31649CA2C38B62FB +46EBDF7180004C549B53F88021D029452C2B37D8C565BCDB0B11541039A13C0A +E45D4B68C7907B8BF08C6F41F564B62BB554235D50330E78DD02795516D969C9 +66119D718798120442CB7EB9877FF84EC69DAE25F8559DCE3BD8042959F695F8 +2F99845B1B5680DDCF181D806CC4903E077D1FF5E60918EB34C0B1E028422B71 +CA63EFBF3F4F3CD813CE831EB54265A555BDD35AD7D723F9CFBDAB29C54F8AFF +2D35C6A3299E0A2DB470C7B141B1E3E10DABB7873AE302926BA8743278FAA8C0 +DC6174501D6A289CF980A3F55F2DD5C3A514E7E7F13133C35D2697D64C25130C +DB78FC997968D6B3BC929E8A31B6D212C5128E4412632BC52B3A1049F7F2F61B +C74AE9A6AD19B9E2E240617E2882F7D29ED3A4279439107AF9AEBEE47CE85DE5 +CE9595A96A118ACF1EB1F5929930321AF7732E351E18C6AD378508E37B4C327B +0E06AAE21278AFA9255AFE5C022034DA2968D260879B4B38E7EE2E11A593DC3F +CE71ABA050C004473324CAB6F3C50E85DEDA3E9A27388D8FD3A8F6E42A79670E +F7549CFAD4CCB337A6E0BAA4846ABCA059F1E1933CF11DC0FFBFF550CC4A1B47 +CF7BCE0875FA747AA854534960F757884505A5AEE0330179A9547A4AE3E68479 +7A457DE83326DC30B67F27CFD4AB697601CEE352F72F0966B3CEE3EA24683BEF +6D23AD51B8432C3F0DD0D0F80791E1091F38988B7A54E466A9AC7810DE8B7893 +6B0AA6356597891D56190A7660BC7F657BC559E0525D41EC228078F2FBF89C6C +72D666DAD838CBF0861FBF0A1D4ECC069AA49DFBAE5C56B781A1D5D79DAAC256 +13E3F9B928A2394FC71691E4355642764459714412D6F8EF803FC5F7353822DE +6CCBB8FBE5AA1F2C7F4D384039D85E7728527DF9FE0239E2CF8BCB7411C000B7 +1FE660AE6A2A19229E5E8776CC83EFF3C27403935756463EB4721C51FE0B1197 +86C2F17842A0FB639F28083DFD4F1E86D7D3BEFA922514ABF489C5CCE93D6F72 +D2EAAE14F6CBA2BE4BBE7D7EA8EA19DB3A87350D4A52064137C3D15A5B05B03B +70B1DA7328D10713B83974C390C3270AF5A9A47C0BFBFABB9F31063B0CCFBB10 +0F236C74446688198EFF039110F6FF42FA9F82D463AD3958B5FD205BDF85DE20 +FE3F0C7AEEF350AEE6DBC1DE2E2DA4F4599956F59D6F121F7086DC120416E180 +52DBBC4E56C09746938698860F30007091E1CC0351B43990E47208ED495310F5 +7BA9C6AB3CA10A3F1B318FD47C1CE3B9FF1304321F9623E32D315AA9CE64B35B +F841E6C62B5B2488A311C94937879E5E0E170FA77AF0AC75C5E6E9F3E8F825AA +09C1702682E14FDFA72D27901C5BDE009B1E52E8C4511C6F6336251BD45261F7 +401CA3DAE7C4B0CAEB91B9954BF4A97C48ECE7FAD401351D59DDAE9DA94E2335 +74A2B880E4749D3D7026CB5299F16C204B6E00A20A6619C34922C7D3FB50F127 +3157CFC08DCC5164C8023CD1B6C3556C73CB8E4ADA845339CA9BABA1457ECEE6 +ECB9849DF1F0FEBC89E5F97C92978A500196520839CEBA6C0FD2E3D27BB4B4F0 +93CB2BB565F4627C6DB62DD0E084E627D69B5DEF42EF094381B62C0D67EFD197 +301B132420F51A41561E6106870147E0D597078435BE3819ACF0DE28AD779847 +F3D2CF667DA06955D53E0204CEA2935E9E984E76963D3079EC092031E2A10E61 +1227E5EE6770DD4D745A52655369EBA06A19BD7D95BBA271E488241199D1008E +36EA99F8DFD2A9F87B06B070158B466AA4C6EA3BA77DB0F853F0BF9A304EA291 +34069714368E0B94DFCBA3BE5EDB6C8204DFA7EAF5C3406F60A7056407D1BF6C +CB85C1F432F97D821F5518BBA79AF8453A568FB2C2D025A70CEC75F46C545011 +ACE3A99B2582793BA1DC655230AE2EFD24DE20A01D4A441AFFAB7771F223FA6B +9169849E727E494247F67D6E1EA9DCA06A082FE2094BD548AD7F08B565145634 +E7ED832FEC1378306DDC796303392ADB0CBA130B63B38ED57B7828B47732853A +893E8836FE19CCF27002AE92C2B2CACFDF8A42F1B8066E033B965D2E9157FDF8 +E1264B40813C1A4CE424274AA3528A4F09B3B53DD4D23789A68B3D17BC1398AE +0ADA2C2168427A49846DE0216908C2FFFEF4F13C1ECA12AD341E238EE46E6DC2 +B71B54C52659632911F901660261E493AE2483D64E119D9924489779B62BC9FB +A052E822FD8D83178E09ADC825DF0DA07FCE7AD68EEB29FAA275A13691B4A5A5 +B0BC0499CD6307610CD6209583C1152C559A2760823F8DC0B9B990BFFE7B7E9F +3969B968AFEAADB9FC0F1410EBBAA0DB979CF153F0B8C978405F8E6F2B6406D7 +AAFBF4A655A15DD6D1E9A7EAE10EF89264659B09283F50B734236885FC09FBE5 +98D780012FA77FCB19F15BDC522CC7312546C0730EF5225DEA8C22A3BC6554EF +4FE73B9AEB5C2F7DBD474221760E5F539A064AC450591BCF3499E3968F2CBD6B +F15BA2B37080A4129B66D4C2188524F025414F14DB3F96049A8B0E5EB2BBE7A1 +AD64A988FE875FE4FE5186BB4F5DDA16983CB052D474B7D72F3E8965663EB50E +015C72407C3437142D3D7DBC055FA627139488DBC5A0F98D805C2143D99F491A +167E07AF60EC9F17C36289368D740B632CB919A0E74C412B76CE7A5906D5200F +9E79CEB9C65ADA3A0F23E8947E834AE7A329A9F0AA7A6BF545B1D7B4666C6522 +CFF268634EA06DB3A82D91A4C0A9B227E79961212881A54A6762C335DE7E0831 +130C45D94394D21C049B9D189ED955438C2151514F17BFC67E431DD9A8349202 +2F616AEC1C7B19F63D5000EB4771370924BD4B9053FE78B5E4A244B9A149D66D +A8BF3B398396D2233E92E4A5FDC70FAADEADAFD255193D688842DBA865CF6154 +C9348D590F3FEB135D4B7BD4D76A52CB140888247CAFAB25ED51F4D187041CA0 +ABD956F83A5661CEC171B52AF92F9ADE27973B560C802E1E0FF51C4003D1289A +CDD09F8EDA8AFDFF666D35418CEADF3B0BE298F0D1E5C8E024D6A2017A7E71F3 +3A9FEC9930F1118101E040339F9D41379170928DDF5B5875212B271DC843F612 +E0C21C67263186E3D6929160464D4D5C8928E14D0845762C36FFBDE548188E20 +3B6BAFE5EECA0385142F01216FB8A90C43A472C1D4447FE5C7C78CC088FC72E7 +3FAFA062C338BDE8A430FDF1951B107D8D73FF9376FACDE5900BA362C66F8C1D +947F9545C5C13A53E4479B1C1A50472C05E8F8C266C6D4F4EB08E97B3B1BA972 +26973B844545089C5732322BCC9A5A8FC972FA0D7DB8BD85D2F515ADE65DA479 +0224F7EA2276CFED0B75B2C23AE7377F86F1F6F205D6FE19377D87E782143697 +984E731F83CA888199CEB425643C259D4FB8B58DD69A96085198306494BB497E +FE7C9954EF35B679BBE3847A9C73507874F71FC97665E2A58BA41407A1745247 +44A79B588D969D11CE4B863CDA655DAA53CEA5C3C263B345E782006CE9831D49 +603D2D95DE9E370D617F5928BA416C362BB2B4DEF16A5D44BD24B34257765F3B +6223B3F9B54DAED69A90C7050AB97B06693D253C6894CBD7B497DA449F1D9B7C +D91B421891EC0724F59C82B9CB288DC42F2D2D7A7F22EE3D910E15953D7766AE +276DABED3820390BAF2700C4653E1C77FE63DB71A66D93ED293E25B8412A1EFF +809554BF04ED0DE83F7F190883ED793803CAD2C34A66524D3A580ACDF3C13B22 +08F18905E7A4A16DA9ED2A112462FB9FFE481EC2069E484E8BBFC19D594153B7 +3DED4C11762223B7586483B06BC164D824D1A6FCAE80A35DE0DB8B33396771DF +76DC5C05578EF1BE00A70BAF3D951A01C87328DB2B0DAD6E1B4C21F37D1BC0C5 +A929BDE5EADF20DA60C4DE2E3C151005814F24824D33B95F700E09A0207EB602 +3EF60DEB1622B91DB99A855A8F1DA96358F05CFCEDBDDDFC8446AE3391BEEC41 +966E594E28D052DD5ADA49DFF65E79540EBE5329DFD86C23CC800F95221B9C18 +CBBF941D2FA47EF1EF59A89DB5DD188E75EE94AD2A79E2221107E5992C00D531 +2E00B544895A9204656867E3DE9D4CDB64B920B5CCA9A73E6514B36CABAE01BF +94C15603B86780190595560F792E5EF01650074EA4A9BBC6ED284B9AC2020641 +DCBCEE0ED27FE58171DFE104EEE4202759E594159DF45113C00236127A46FB35 +9EC705F21C0E456C1F0F924594C09AC64D4377C5FEEF764BA4A09ABA8D09DEB1 +FC13B0CD202B2F04CF5D73DEAB65C36C2FA7C0DC236BEEF6D23BFFC9C493DC8E +1831F19EEF81EEDD976E43BAC6B5CED13F901DE59835FC75490EA528A72CEB77 +24C38B258EC38B9E6B97F85CA8C10D8809BBE55A6FAA12456FCAC786942E123C +06D1E55F7ED04400088BEC968BC5081DC7A1B1B65166E7821679F76694F235FC +6854C8776AF855B83445D9FF919B1D80E98DE0741D06D6C5EEDB3E3EA6392530 +F1BA817737D8162F7B3A36AC2A03190CDEC654383E31934C3E0A012B639532C6 +26FEBE9B412F1C92D1943B7C18CEF510729D501349644C97F087F2F840074AE6 +D8CD0FB2E620FFC908BFCD938B675A0A4A687F7FBE8F3DD06A62D7B6DE7DF3E2 +49D367D60B10061EA86CD512F5A1BE8950D83C62695E130128E0037B62552D17 +064319BBB9B1FAB9D79705E5D68AAE9B36EA14BF1A59A863BDB8DAD9AB5D7B8A +E30E2B499F952D65877C8E38EDD7DB29F9579D09E629AC188DB6A6403AB4BA3A +D358B3770D727A2B77D84B6C9EC17E29D88E3421F9B7D2D822EB78BB8BB50692 +8C46DD6F9BBEF2E848A2B5669B200019802AD19661537A84D3514AEC5AA47445 +2C791E01DCEDF18D9506367241255FFADEEA6183F51A9F42448A7DE413C08359 +52DAD2A60FD606AFE14702BD3B0EC448720FE63438D020DEDFCDE3582FC31DF1 +17B25FC152789D2F17FD60B8209D292D2152DCF8D28B5ADC04F6659BBB746CDF +145163361823CA343763AA951C640B5D4A99B7787105A1609EDD6A596EFC3F6F +2FC33D0D499DBE56C6668E137715D435D6B683E0113647B2765AB0F3D98AC717 +5B33C3EDDE18506E73B4E392B022F30480BD30F59B2E3A59D93017296C3156B4 +B5722E1955777716388AA987B2665669716F866FE6BDAD5E74A523CC03915F26 +9B7B231F5D9B1F61DF7CB01ED3F27070E36547B263855DF5B2E3ABD2ACC440B9 +0826E1DEB8CF0BE87C59313978F28295C0E3A01D2B5682DA86A38F390982A8FE +C3E81B8D3532C92C4A4A4BCB421D248F634447613101BA5B301431F192BC6962 +E6F9E2542F1B0D3AE7560888A9344A7EB7ACED0D46351ABA0DC93EEB47CDF0AF +28B602579EE7E3CEFE0C6F5332EB843348D80B020E7A127C634BF2A3A55B6C94 +1896769C33D5BEFA8F144D6DD702380447904C92197B8C7CB55679A6AB8FB7D6 +2E3087D2CC3CB9BC10C0CC485AE395D036339862CF98337FEEE3394157B9862A +120162EE40ADD32C55B39E4BED180B4E4F51C28377589B982F13DC6D44E758B3 +022813BABDF45231A712C97D06658FC2AAB9F59BEEF9FDBE186B7CF64ABDB9E9 +CAAB0BC223880A2DD496BC166B6C88552D2B1B23965FAB5BC51D2EE90B8E1322 +5688DEB8C76E0E9C2FC7EF7AEB6E7DAE821F73A43A5CA6814FC018337C234636 +4D61A7EE4CAD90722EF68E825686812D5A20AC3874A33E3202C32E60B44FFAFC +8D517C3A5B86ED309A0DFBC06EFA9BA510DD6C8E6292544F0EB765371C64CAC1 +F04F96546838C6E7423116B4FB72F7C81C47C55138A3819E121884A0A5E87BE8 +DE4D02 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi) +@start /Fa 255[55{}1 66.4176 /CMSY8 rf /Fb 205[35 35 +49[{}2 66.4176 /CMR8 rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 165 192 a + /pssetRGBcolor /setrgbcolor load def /pssetCMYKcolor /setcmykcolor +load def /pssetGraycolor /setgray load def + +165 192 a 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 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-2.00))^2))*((-2.00)-2*(-2.00)) +) AlgParser cvx def end + 762 +664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-2.00))^2))*((-1.7)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-2.00))^2))*((-1.4)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-2.00))^2))*((-1.1)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-2.00))^2))*((-0.8)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-2.00))^2))*((-0.5)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-2.00))^2))*((-0.2)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-2.00))^2))*((0.1)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-2.00))^2))*((0.4)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-2.00))^2))*((0.7)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-2.00))^2))*((1.0)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-2.00))^2))*((1.3)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-2.00))^2))*((1.6)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-2.00))^2))|-2.00+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-2.00))^2))*((1.9)-2*(-2.00)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.7))^2))*((-2.00)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.7))^2))*((-1.7)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.7))^2))*((-1.4)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.7))^2))*((-1.1)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.7))^2))*((-0.8)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.7))^2))*((-0.5)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.7))^2))*((-0.2)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.7))^2))*((0.1)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.7))^2))*((0.4)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.7))^2))*((0.7)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.7))^2))*((1.0)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.7))^2))*((1.3)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.7))^2))*((1.6)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.7))^2))|-1.7+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.7))^2))*((1.9)-2*(-1.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.4))^2))*((-2.00)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.4))^2))*((-1.7)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.4))^2))*((-1.4)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.4))^2))*((-1.1)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.4))^2))*((-0.8)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.4))^2))*((-0.5)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.4))^2))*((-0.2)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.4))^2))*((0.1)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.4))^2))*((0.4)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.4))^2))*((0.7)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.4))^2))*((1.0)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.4))^2))*((1.3)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.4))^2))*((1.6)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.4))^2))|-1.4+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.4))^2))*((1.9)-2*(-1.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-1.1))^2))*((-2.00)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-1.1))^2))*((-1.7)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-1.1))^2))*((-1.4)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-1.1))^2))*((-1.1)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-1.1))^2))*((-0.8)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-1.1))^2))*((-0.5)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-1.1))^2))*((-0.2)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-1.1))^2))*((0.1)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-1.1))^2))*((0.4)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-1.1))^2))*((0.7)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-1.1))^2))*((1.0)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-1.1))^2))*((1.3)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-1.1))^2))*((1.6)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.1))^2))|-1.1+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-1.1))^2))*((1.9)-2*(-1.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.8))^2))*((-2.00)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.8))^2))*((-1.7)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.8))^2))*((-1.4)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.8))^2))*((-1.1)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.8))^2))*((-0.8)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.8))^2))*((-0.5)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.8))^2))*((-0.2)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.8))^2))*((0.1)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.8))^2))*((0.4)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.8))^2))*((0.7)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.8))^2))*((1.0)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.8))^2))*((1.3)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.8))^2))*((1.6)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.8))^2))|-0.8+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.8))^2))*((1.9)-2*(-0.8)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.5))^2))*((-2.00)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.5))^2))*((-1.7)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.5))^2))*((-1.4)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.5))^2))*((-1.1)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.5))^2))*((-0.8)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.5))^2))*((-0.5)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.5))^2))*((-0.2)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.5))^2))*((0.1)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.5))^2))*((0.4)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.5))^2))*((0.7)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.5))^2))*((1.0)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.5))^2))*((1.3)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.5))^2))*((1.6)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.5))^2))|-0.5+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.5))^2))*((1.9)-2*(-0.5)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(-0.2))^2))*((-2.00)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(-0.2))^2))*((-1.7)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(-0.2))^2))*((-1.4)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(-0.2))^2))*((-1.1)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(-0.2))^2))*((-0.8)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(-0.2))^2))*((-0.5)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(-0.2))^2))*((-0.2)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.1)-2*(-0.2))^2))*((0.1)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.4)-2*(-0.2))^2))*((0.4)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((0.7)-2*(-0.2))^2))*((0.7)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.0)-2*(-0.2))^2))*((1.0)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.3)-2*(-0.2))^2))*((1.3)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.6)-2*(-0.2))^2))*((1.6)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.2))^2))|-0.2+((0.3)*t)*(1/sqrt(1+((1.9)-2*(-0.2))^2))*((1.9)-2*(-0.2)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.1))^2))*((-2.00)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.1))^2))*((-1.7)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.1))^2))*((-1.4)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.1))^2))*((-1.1)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.1))^2))*((-0.8)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.1))^2))*((-0.5)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.1))^2))*((-0.2)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.1))^2))*((0.1)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.1))^2))*((0.4)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.1))^2))*((0.7)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.1))^2))*((1.0)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.1))^2))*((1.3)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.1))^2))*((1.6)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.1))^2))|0.1+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.1))^2))*((1.9)-2*(0.1)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.4))^2))*((-2.00)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.4))^2))*((-1.7)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.4))^2))*((-1.4)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.4))^2))*((-1.1)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.4))^2))*((-0.8)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.4))^2))*((-0.5)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.4))^2))*((-0.2)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.4))^2))*((0.1)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.4))^2))*((0.4)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.4))^2))*((0.7)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.4))^2))*((1.0)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.4))^2))*((1.3)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.4))^2))*((1.6)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.4))^2))|0.4+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.4))^2))*((1.9)-2*(0.4)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(0.7))^2))*((-2.00)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(0.7))^2))*((-1.7)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(0.7))^2))*((-1.4)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(0.7))^2))*((-1.1)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(0.7))^2))*((-0.8)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(0.7))^2))*((-0.5)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(0.7))^2))*((-0.2)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.1)-2*(0.7))^2))*((0.1)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.4)-2*(0.7))^2))*((0.4)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(0.7))^2))*((0.7)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.0)-2*(0.7))^2))*((1.0)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.3)-2*(0.7))^2))*((1.3)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.6)-2*(0.7))^2))*((1.6)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.7))^2))|0.7+((0.3)*t)*(1/sqrt(1+((1.9)-2*(0.7))^2))*((1.9)-2*(0.7)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.0))^2))*((-2.00)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.0))^2))*((-1.7)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.0))^2))*((-1.4)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.0))^2))*((-1.1)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.0))^2))*((-0.8)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.0))^2))*((-0.5)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.0))^2))*((-0.2)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.0))^2))*((0.1)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.0))^2))*((0.4)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.0))^2))*((0.7)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.0))^2))*((1.0)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.0))^2))*((1.3)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.0))^2))*((1.6)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.0))^2))|1.0+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.0))^2))*((1.9)-2*(1.0)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.95 0.95 + setrgbcolor /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale + false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul +/a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg +a neg rlineto gsave fill grestore grestore 0 h a sub moveto EndArrow + } def /ArrowInside { } def [ tx@NodeDict begin tx@NodeDict /N@P1 +known { /N@P1 load GetCenter } { 0 0 } ifelse end tx@NodeDict begin +tx@NodeDict /N@P0 known { /N@P0 load GetCenter } { 0 0 } ifelse end + /Lineto /lineto load def 0 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.8 SLW 1 0.95 0.95 setrgbcolor 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.3))^2))*((-2.00)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.3))^2))*((-1.7)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.3))^2))*((-1.4)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.3))^2))*((-1.1)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.3))^2))*((-0.8)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.3))^2))*((-0.5)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.3))^2))*((-0.2)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.3))^2))*((0.1)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.3))^2))*((0.4)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.3))^2))*((0.7)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.3))^2))*((1.0)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.3))^2))*((1.3)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.3))^2))*((1.6)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.8 0.8 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.8 0.8 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.3))^2))|1.3+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.3))^2))*((1.9)-2*(1.3)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.9 0.9 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.9 0.9 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.6))^2))*((-2.00)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.6))^2))*((-1.7)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.6))^2))*((-1.4)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.6))^2))*((-1.1)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.6))^2))*((-0.8)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.6))^2))*((-0.5)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.6))^2))*((-0.2)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.6))^2))*((0.1)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.6))^2))*((0.4)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.6))^2))*((0.7)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.6))^2))*((1.0)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.6))^2))*((1.3)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.6))^2))*((1.6)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.6))^2))|1.6+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.6))^2))*((1.9)-2*(1.6)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.7 0.7 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.7 0.7 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-2.00+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-2.00)-2*(1.9))^2))*((-2.00)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.7+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.7)-2*(1.9))^2))*((-1.7)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.4+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.4)-2*(1.9))^2))*((-1.4)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-1.1+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-1.1)-2*(1.9))^2))*((-1.1)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.8+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.8)-2*(1.9))^2))*((-0.8)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.5+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.5)-2*(1.9))^2))*((-0.5)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0 0 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0 0 setrgbcolor 1. +.setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (-0.2+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((-0.2)-2*(1.9))^2))*((-0.2)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.1+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.1)-2*(1.9))^2))*((0.1)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.1 0.1 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.1 0.1 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.4+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.4)-2*(1.9))^2))*((0.4)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.2 0.2 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.2 0.2 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (0.7+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((0.7)-2*(1.9))^2))*((0.7)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.3 0.3 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.3 0.3 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.0+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.0)-2*(1.9))^2))*((1.0)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.3+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.3)-2*(1.9))^2))*((1.3)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.4 0.4 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.4 0.4 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.6+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.6)-2*(1.9))^2))*((1.6)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.5 0.5 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.5 0.5 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial 762 664 a +tx@Dict begin /t0 0 def /t1 1 def t1 t0 sub end 1 div /dt exch def + 762 664 a 762 664 +a +tx@Dict begin /Func (1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.9))^2))|1.9+((0.3)*t)*(1/sqrt(1+((1.9)-2*(1.9))^2))*((1.9)-2*(1.9)) +) AlgParser cvx def end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 0 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P0 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a 762 664 a +tx@Dict begin tx@NodeDict begin { /t 0 dt 1 mul add def Func 28.5 +mul exch 28.5 mul exch } false /N@P1 10 {InitPnode } /NodeScale {} +def NewNode end end + 762 664 a @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.8 SLW 1 0.6 0.6 setrgbcolor + /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ tx@NodeDict begin tx@NodeDict /N@P1 known { /N@P1 load GetCenter +} { 0 0 } ifelse end tx@NodeDict begin tx@NodeDict /N@P0 known { /N@P0 +load GetCenter } { 0 0 } ifelse end /Lineto /lineto load def 0 +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.8 SLW 1 0.6 0.6 setrgbcolor + 1. .setopacityalpha 0 setlinejoin 0 setlinecap stroke grestore +end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 59.85017 0 -57.0 0 ArrowA CP 4 2 roll ArrowB +2 copy /yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap +stroke stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq false +and exch 2 lt true and or { /viceversa -57.0 59.85017 gt { true }{ +false } ifelse def /epsilon 0.01 def /minTickline -57.0 def /maxTickline +57.0 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { xStart } def /MaxValue { xEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 +setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch def +logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick dT +dx log mul add def x abs MaxValue abs le { false { x minTickline moveto +x maxTickline lineto } { x tickstart STsize mul moveto x tickend +STsize mul lineto } ifelse } if } for subTwidth SLW subTColor subLSstroke +grestore stroke /dsubT 0 def } if dsubT abs 0 gt { gsave /cntsubTick +cntTick dsubT add def subTNo 1 sub { cntsubTick abs MaxValue abs le +{ false { cntsubTick minTickline STsize mul moveto cntsubTick maxTickline +STsize mul lineto } { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave false { cntTick minTickline moveto cntTick +maxTickline lineto } { cntTick tickstart moveto cntTick tickend +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline moveto x maxTickline lineto } { x tickstart STsize +mul moveto x tickend STsize mul lineto } ifelse } if } for /dsubT +0 def subTwidth SLW subTColor subLSstroke grestore } dsubT abs 0 gt +{ gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MinValue abs le { cntsubTick tickstart STsize mul moveto cntsubTick +tickend STsize mul lineto }{ exit } ifelse /cntsubTick cntsubTick +dsubT add def } repeat subTwidth SLW subTColor subLSstroke grestore +} if showOrigin { gsave cntTick tickstart moveto cntTick tickend +lineto Twidth SLW TColor LSstroke grestore }{ /showOrigin true def +} ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 57.0 0.0 -57.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 59.85017 0.0 -57.0 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial @setspecial + tx@Dict begin STP newpath 0.7 SLW 0 setgray /ArrowA { moveto } +def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. CLW mul +add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if +gsave w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore +grestore 0 h a sub moveto EndArrow } def /ArrowInside { } def +/showOrigin true def 0 57.0 0 -57.0 ArrowA CP 4 2 roll ArrowB 2 copy +/yEnd exch def /xEnd exch def L 0 setlinejoin 0 setlinecap stroke + stroke /yStart exch def /xStart exch def 0 dup 2 mod 0 eq true and +exch 2 lt false and or { /viceversa -57.0 57.0 gt { true }{ false +} ifelse def /epsilon 0.01 def /minTickline -57.0 def /maxTickline +59.85017 def /dT 1867776 abs 65536 div viceversa { neg } if def /subTNo +1 def subTNo 0 gt { /dsubT dT subTNo div def}{ /dsubT 0 def } ifelse +0.0 2.2 /tickend exch def /tickstart exch def /Twidth 0.4 def /subTwidth +0.2 def /STsize 0.75 def /TColor { 0 setgray } def /subTColor { +0.5 setgray } def /MinValue { yStart } def /MaxValue { yEnd 1.5 2. + CLW mul add 1.4 mul viceversa { add epsilon sub }{ sub epsilon add +} ifelse } def /logLines { false } def /LSstroke { 0 setlinejoin +0 setlinecap stroke stroke} def /subLSstroke { 0 setlinejoin 0 + setlinecap stroke stroke} def 0 dT MaxValue 1 add { /cntTick exch +def logLines { gsave 1 10 subTNo div 9.99 { /dx exch def /x cntTick +dT dx log mul add def x abs MaxValue abs le { false { x minTickline +exch moveto x maxTickline exch lineto } { x tickstart STsize mul exch +moveto x tickend STsize mul exch lineto } ifelse } if } for subTwidth +SLW subTColor subLSstroke grestore stroke /dsubT 0 def } if dsubT abs +0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 sub { cntsubTick +abs MaxValue abs le { false { cntsubTick minTickline STsize mul exch +moveto cntsubTick maxTickline STsize mul exch lineto } { cntsubTick +tickstart STsize mul exch moveto cntsubTick tickend STsize mul exch +lineto } ifelse }{ exit } ifelse /cntsubTick cntsubTick dsubT add def +} repeat subTwidth SLW subTColor subLSstroke grestore } if showOrigin +{ gsave false { cntTick minTickline exch moveto cntTick maxTickline +exch lineto } { cntTick tickstart exch moveto cntTick tickend exch +lineto } ifelse Twidth SLW TColor LSstroke grestore }{ /showOrigin +true def } ifelse } for /showOrigin true def /dT dT neg def /dsubT +dsubT neg def 0 dT MinValue epsilon viceversa { add }{ sub } ifelse +{ /cntTick exch def logLines { gsave 1 10 subTNo div 9.99 { /dx exch +def /x cntTick dT dx log mul add def x abs MinValue abs le { false +{ x minTickline exch moveto x maxTickline exch lineto } { x tickstart +STsize mul exch moveto x tickend STsize mul exch lineto } ifelse } +if } for /dsubT 0 def subTwidth SLW subTColor subLSstroke grestore +} dsubT abs 0 gt { gsave /cntsubTick cntTick dsubT add def subTNo 1 +sub { cntsubTick abs MinValue abs le { cntsubTick tickstart STsize +mul exch moveto cntsubTick tickend STsize mul exch lineto }{ exit } +ifelse /cntsubTick cntsubTick dsubT add def } repeat subTwidth SLW +subTColor subLSstroke grestore } if showOrigin { gsave cntTick tickstart +exch moveto cntTick tickend exch lineto Twidth SLW TColor LSstroke +grestore }{ /showOrigin true def } ifelse } for } if end + +@endspecial +@beginspecial @setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 0.0 57.0 0.0 -57.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial @beginspecial +@setspecial + tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { BeginArrow +1. 1. scale false 0.4 1.4 1.5 2. CLW mul add dup 2 div /w ED mul +dup /h ED mul /a ED { 0 h T 1 -1 scale } if gsave w neg h moveto 0 +0 L w h L w neg a neg rlineto gsave fill grestore grestore 0 h a sub +moveto EndArrow } def /ArrowInside { } def 0.7 SLW 0 setgray +/ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 +1.4 1.5 2. CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 +h T 1 -1 scale } if gsave w neg h moveto 0 0 L w h L w neg a neg rlineto +gsave fill grestore grestore 0 h a sub moveto EndArrow } def /ArrowInside +{ } def [ 59.85017 0.0 -57.0 0.0 /Lineto /lineto load def 0 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.7 SLW 0 setgray 1. .setopacityalpha 0 setlinejoin +0 setlinecap stroke grestore end + +@endspecial 694 449 a Fb(1)639 919 y Fa(\000)p +Fb(1)639 1156 y Fa(\000)p Fb(2)981 740 y(1)-536 b Fa(\000)p +Fb(1)-326 b Fa(\000)p Fb(2)p 0 TeXcolorgray 0 TeXcolorgray +eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/README b/Master/texmf-dist/doc/latex/pstricks_calcnotes/README index d4fcde3a370..837194735a1 100644 --- a/Master/texmf-dist/doc/latex/pstricks_calcnotes/README +++ b/Master/texmf-dist/doc/latex/pstricks_calcnotes/README @@ -1,5 +1,11 @@ -This package presents two applications of PSTricks for making LaTeX lecture notes in -Calculus. The remarks on the second one give a way of coloring arrows for a vector field. +This package presents three applications of PSTricks for making LaTeX lecture notes in +Calculus. + +Application 1: Drawing approximations to the area under a graph by rectangles. +Application 2: Drawing the vector field of an ordinary differential equation of order one. + (The remarks on this application give a way of coloring arrows properly for a vector field.) +Application 3: Drawing partitions of a simply connected plane domain. + Author: Le Phuong Quan License: lppl diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/ThreeAppsPDF.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/ThreeAppsPDF.pdf new file mode 100644 index 00000000000..cbca59039ff Binary files /dev/null and b/Master/texmf-dist/doc/latex/pstricks_calcnotes/ThreeAppsPDF.pdf differ diff --git a/Master/texmf-dist/doc/latex/pstricks_calcnotes/Two_Apps_Remarks.pdf b/Master/texmf-dist/doc/latex/pstricks_calcnotes/Two_Apps_Remarks.pdf deleted file mode 100644 index 88ab66cc2bc..00000000000 Binary files a/Master/texmf-dist/doc/latex/pstricks_calcnotes/Two_Apps_Remarks.pdf and /dev/null differ -- cgit v1.2.3